; ModuleID = 'dfs.cpp'
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128"
target triple = "i386-pc-linux-gnu"

%"class.std::ios_base::Init" = type { i8 }
%"class.boost::detail::make_property_map_from_arg_pack_gen" = type { i32 }
%"class.std::basic_ostream" = type { i32 (...)**, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", %"class.std::basic_ostream"*, i8, i8, %"class.std::basic_streambuf"*, %"class.std::ctype"*, %"class.std::num_put"*, %"class.std::num_get"* }
%"class.std::ios_base" = type { i32 (...)**, i32, i32, i32, i32, i32, %"struct.std::ios_base::_Callback_list"*, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, %"struct.std::ios_base::_Words"*, %"class.std::locale" }
%"struct.std::ios_base::_Callback_list" = type { %"struct.std::ios_base::_Callback_list"*, void (i32, %"class.std::ios_base"*, i32)*, i32, i32 }
%"struct.std::ios_base::_Words" = type { i8*, i32 }
%"class.std::locale" = type { %"class.std::locale::_Impl"* }
%"class.std::locale::_Impl" = type { i32, %"class.std::locale::facet"**, i32, %"class.std::locale::facet"**, i8** }
%"class.std::locale::facet" = type { i32 (...)**, i32 }
%"class.std::basic_streambuf" = type { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, %"class.std::locale" }
%"class.std::ctype" = type { %"class.std::locale::facet", %struct.__locale_struct*, i8, i32*, i32*, i16*, i8, [256 x i8], [256 x i8], i8 }
%struct.__locale_struct = type { [13 x %struct.__locale_data*], i16*, i32*, i32*, [13 x i8*] }
%struct.__locale_data = type opaque
%"class.std::num_put" = type { %"class.std::locale::facet" }
%"class.std::num_get" = type { %"class.std::locale::facet" }
%"struct.boost::parameter::keyword" = type { i8 }
%"struct.boost::parameter::keyword.19" = type { i8 }
%"struct.boost::parameter::keyword.22" = type { i8 }
%"struct.boost::parameter::keyword.23" = type { i8 }
%"class.boost::adjacency_list" = type { %"class.boost::vec_adj_list_impl", %"class.boost::scoped_ptr" }
%"class.boost::vec_adj_list_impl" = type { %"class.std::list", %"class.std::vector" }
%"class.std::list" = type { %"class.std::_List_base" }
%"class.std::_List_base" = type { %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl" }
%"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl" = type { %"struct.std::__detail::_List_node_base" }
%"struct.std::__detail::_List_node_base" = type { %"struct.std::__detail::_List_node_base"*, %"struct.std::__detail::_List_node_base"* }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl" }
%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl" = type { %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* }
%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex" = type { %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex" }
%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex" = type { %"class.std::vector.11", %"struct.boost::no_property" }
%"class.std::vector.11" = type { %"struct.std::_Vector_base.12" }
%"struct.std::_Vector_base.12" = type { %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl" }
%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl" = type { %"class.boost::detail::stored_edge_property"*, %"class.boost::detail::stored_edge_property"*, %"class.boost::detail::stored_edge_property"* }
%"class.boost::detail::stored_edge_property" = type { %"class.boost::detail::stored_edge", %"class.std::auto_ptr" }
%"class.boost::detail::stored_edge" = type { i32 }
%"class.std::auto_ptr" = type { %"struct.boost::no_property"* }
%"struct.boost::no_property" = type { i8 }
%"class.boost::scoped_ptr" = type { %"struct.boost::no_property"* }
%"struct.std::pair" = type { %"class.boost::detail::edge_desc_impl", i8 }
%"class.boost::detail::edge_desc_impl" = type { %"struct.boost::detail::edge_base", i8* }
%"struct.boost::detail::edge_base" = type { i32, i32 }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl" = type { i32*, i32*, i32* }
%"class.std::allocator.5" = type { i8 }
%"struct.boost::bgl_named_params" = type { %struct.edge_categorizer, %"struct.boost::no_property" }
%struct.edge_categorizer = type { %"class.boost::dfs_visitor" }
%"class.boost::dfs_visitor" = type { %"struct.std::pair.8" }
%"struct.std::pair.8" = type { %"struct.boost::time_stamper", %"struct.boost::time_stamper.9" }
%"struct.boost::time_stamper" = type { i32*, i32* }
%"struct.boost::time_stamper.9" = type { i32*, i32* }
%"struct.boost::on_discover_vertex" = type { i8 }
%"struct.boost::on_finish_vertex" = type { i8 }
%"class.__gnu_cxx::__normal_iterator" = type { i32* }
%"struct.boost::adj_list_helper" = type { i8 }
%"class.boost::integer_range" = type { %"class.boost::iterator_range" }
%"class.boost::iterator_range" = type { %"class.boost::range_detail::integer_iterator", %"class.boost::range_detail::integer_iterator" }
%"class.boost::range_detail::integer_iterator" = type { i32 }
%"struct.boost::parameter::aux::arg_list" = type { %"struct.boost::parameter::aux::tagged_argument" }
%"struct.boost::parameter::aux::tagged_argument" = type { %struct.edge_categorizer* }
%"struct.boost::parameter::aux::empty_arg_list" = type { i8 }
%"struct.boost::graph::detail::depth_first_search_impl" = type { i8 }
%"struct.boost::parameter::aux::default_" = type { %"class.boost::dfs_visitor.17"* }
%"class.boost::dfs_visitor.17" = type { %"struct.boost::null_visitor" }
%"struct.boost::null_visitor" = type { i8 }
%"class.boost::shared_array_property_map" = type { %"class.boost::shared_array", %"struct.boost::vec_adj_list_vertex_id_map" }
%"class.boost::shared_array" = type { i32*, %"class.boost::detail::shared_count" }
%"class.boost::detail::shared_count" = type { %"class.boost::detail::sp_counted_base"* }
%"class.boost::detail::sp_counted_base" = type { i32 (...)**, i32, i32 }
%"struct.boost::vec_adj_list_vertex_id_map" = type { i8 }
%"struct.boost::parameter::aux::lazy_default" = type { %"struct.boost::detail::get_default_starting_vertex_t"* }
%"struct.boost::detail::get_default_starting_vertex_t" = type { %"class.boost::adjacency_list"* }
%"class.boost::tuples::tuple" = type { %"struct.boost::tuples::cons" }
%"struct.boost::tuples::cons" = type { %"class.boost::range_detail::integer_iterator"*, %"struct.boost::tuples::cons.27" }
%"struct.boost::tuples::cons.27" = type { %"class.boost::range_detail::integer_iterator"* }
%"struct.std::pair.20" = type { %"class.boost::range_detail::integer_iterator", %"class.boost::range_detail::integer_iterator" }
%"struct.boost::detail::nontruth2" = type { i8 }
%"class.boost::iterator_facade" = type { i8 }
%"struct.boost::put_get_helper" = type { i8 }
%"struct.mpl_::bool_.25" = type { i8 }
%"struct.boost::integral_constant.26" = type { i8 }
%"struct.mpl_::bool_" = type { i8 }
%"struct.boost::is_convertible" = type { i8 }
%"struct.boost::parameter::aux::default_.21" = type { i32* }
%"struct.boost::detail::override_const_property_t" = type { i8 }
%"struct.boost::parameter::aux::default_.24" = type { i32* }
%"struct.boost::vertex_property_tag" = type { i8 }
%"struct.boost::put_get_helper.16" = type { i8 }
%"struct.boost::checked_array_deleter" = type { i8 }
%"class.boost::detail::sp_counted_impl_pd" = type { %"class.boost::detail::sp_counted_base", i32*, %"struct.boost::checked_array_deleter" }
%"class.std::type_info" = type { i32 (...)**, i8* }
%"struct.boost::on_initialize_vertex" = type { i8 }
%"struct.boost::on_start_vertex" = type { i8 }
%"struct.boost::detail::out_edge_iter" = type { %"class.boost::iterator_adaptor", i32 }
%"class.boost::iterator_adaptor" = type { %"class.__gnu_cxx::__normal_iterator.29" }
%"class.__gnu_cxx::__normal_iterator.29" = type { %"class.boost::detail::stored_edge_property"* }
%"class.std::vector.30" = type { %"struct.std::_Vector_base.31" }
%"struct.std::_Vector_base.31" = type { %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl" = type { %"struct.std::pair.35"*, %"struct.std::pair.35"*, %"struct.std::pair.35"* }
%"struct.std::pair.35" = type { i32, %"struct.std::pair.36" }
%"struct.std::pair.36" = type { %"struct.boost::detail::out_edge_iter", %"struct.boost::detail::out_edge_iter" }
%"class.boost::tuples::tuple.37" = type { %"struct.boost::tuples::cons.38" }
%"struct.boost::tuples::cons.38" = type { %"struct.boost::detail::out_edge_iter"*, %"struct.boost::tuples::cons.39" }
%"struct.boost::tuples::cons.39" = type { %"struct.boost::detail::out_edge_iter"* }
%"class.boost::iterator_facade.28" = type { i8 }
%"class.__gnu_cxx::__normal_iterator.41" = type { %"struct.std::pair.35"* }
%"class.__gnu_cxx::new_allocator.33" = type { i8 }
%"class.__gnu_cxx::__normal_iterator.42" = type { %"struct.std::pair.35"* }
%"struct.boost::is_convertible.40" = type { i8 }
%"struct.boost::on_examine_edge" = type { i8 }
%"class.std::allocator.32" = type { i8 }
%"struct.boost::integral_constant" = type { i8 }
%"struct.boost::on_forward_or_cross_edge" = type { i8 }
%"struct.boost::on_back_edge" = type { i8 }
%"struct.boost::on_tree_edge" = type { i8 }
%"struct.boost::tuples::null_type" = type { i8 }
%"struct.boost::parameter::aux::tagged_argument_base" = type { i8 }
%"struct.boost::base_visitor.10" = type { i8 }
%"struct.boost::base_visitor" = type { i8 }
%"class.__gnu_cxx::new_allocator.6" = type { i8 }
%"struct.boost::directed_graph_helper" = type { i8 }
%"class.__gnu_cxx::__normal_iterator.47" = type { %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* }
%"class.boost::tuples::tuple.43" = type { %"struct.boost::tuples::cons.44" }
%"struct.boost::tuples::cons.44" = type { %"class.__gnu_cxx::__normal_iterator.29"*, %"struct.boost::tuples::cons.45" }
%"struct.boost::tuples::cons.45" = type { i8* }
%"struct.std::pair.46" = type { %"class.__gnu_cxx::__normal_iterator.29", i8 }
%"struct.boost::graph_detail::back_insertion_sequence_tag" = type { %"struct.boost::graph_detail::sequence_tag" }
%"struct.boost::graph_detail::sequence_tag" = type { %"struct.boost::graph_detail::forward_container_tag" }
%"struct.boost::graph_detail::forward_container_tag" = type { i32 (...)** }
%"struct.boost::graph_detail::vector_tag" = type { %"struct.boost::graph_detail::random_access_container_tag", %"struct.boost::graph_detail::back_insertion_sequence_tag" }
%"struct.boost::graph_detail::random_access_container_tag" = type { %"struct.boost::graph_detail::reversible_container_tag" }
%"struct.boost::graph_detail::reversible_container_tag" = type { %"struct.boost::graph_detail::forward_container_tag" }
%"struct.boost::equality_comparable1" = type { i8 }
%"struct.boost::graph_detail::container_tag" = type { i8 }
%"class.__gnu_cxx::new_allocator.14" = type { i8 }
%"class.std::allocator.13" = type { i8 }
%"class.std::allocator.0" = type { i8 }
%"class.__gnu_cxx::new_allocator.1" = type { i8 }
%"class.__gnu_cxx::__normal_iterator.48" = type { %"class.boost::detail::stored_edge_property"* }
%"struct.boost::graph::maybe_named_graph" = type { i8 }
%"struct.std::_List_node" = type { %"struct.std::__detail::_List_node_base", %"struct.boost::list_edge" }
%"struct.boost::list_edge" = type { %"struct.boost::detail::edge_base.49", %"struct.boost::no_property" }
%"struct.boost::detail::edge_base.49" = type { i32, i32 }
%"class.std::allocator.50" = type { i8 }
%"class.__gnu_cxx::new_allocator.51" = type { i8 }
%"class.std::allocator" = type { i8 }
%"class.__gnu_cxx::new_allocator" = type { i8 }

@_ZStL8__ioinit = internal global %"class.std::ios_base::Init" zeroinitializer, align 1
@__dso_handle = external global i8
@_ZN5boost6detailL28make_color_map_from_arg_packE = internal global %"class.boost::detail::make_property_map_from_arg_pack_gen" zeroinitializer, align 4
@_ZSt4cout = external global %"class.std::basic_ostream"
@.str = private unnamed_addr constant [2 x i8] c" \00", align 1
@_ZN5boost5graph8keywords12_GLOBAL__N_18_visitorE = internal constant %"struct.boost::parameter::keyword"* @_ZN5boost9parameter7keywordINS_5graph8keywords3tag7visitorEE8instanceE, align 4
@_ZN5boost5graph8keywords12_GLOBAL__N_112_root_vertexE = internal constant %"struct.boost::parameter::keyword.19"* @_ZN5boost9parameter7keywordINS_5graph8keywords3tag11root_vertexEE8instanceE, align 4
@_ZN5boost9parameter7keywordINS_5graph8keywords3tag11root_vertexEE8instanceE = weak_odr constant %"struct.boost::parameter::keyword.19" undef, align 1
@_ZN5boost9parameter7keywordINS_5graph8keywords3tag9color_mapEE8instanceE = weak_odr constant %"struct.boost::parameter::keyword.22" undef, align 1
@_ZN5boost5graph8keywords12_GLOBAL__N_117_vertex_index_mapE = internal constant %"struct.boost::parameter::keyword.23"* @_ZN5boost9parameter7keywordINS_5graph8keywords3tag16vertex_index_mapEE8instanceE, align 4
@_ZN5boost9parameter7keywordINS_5graph8keywords3tag16vertex_index_mapEE8instanceE = weak_odr constant %"struct.boost::parameter::keyword.23" undef, align 1
@_ZTVN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEEE = linkonce_odr unnamed_addr constant [7 x i8*] [i8* null, i8* bitcast ({ i8*, i8*, i8* }* @_ZTIN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEEE to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_impl_pd"*)* @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEED1Ev to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_impl_pd"*)* @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEED0Ev to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_impl_pd"*)* @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEE7disposeEv to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_base"*)* @_ZN5boost6detail15sp_counted_base7destroyEv to i8*), i8* bitcast (i8* (%"class.boost::detail::sp_counted_impl_pd"*, %"class.std::type_info"*)* @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEE11get_deleterERKSt9type_info to i8*)]
@_ZTVN10__cxxabiv120__si_class_type_infoE = external global i8*
@_ZTSN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEEE = linkonce_odr constant [95 x i8] c"N5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEEE\00"
@_ZTVN10__cxxabiv117__class_type_infoE = external global i8*
@_ZTSN5boost6detail15sp_counted_baseE = linkonce_odr constant [33 x i8] c"N5boost6detail15sp_counted_baseE\00"
@_ZTIN5boost6detail15sp_counted_baseE = linkonce_odr unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv117__class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([33 x i8]* @_ZTSN5boost6detail15sp_counted_baseE, i32 0, i32 0) }
@_ZTIN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEEE = linkonce_odr unnamed_addr constant { i8*, i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv120__si_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([95 x i8]* @_ZTSN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEEE, i32 0, i32 0), i8* bitcast ({ i8*, i8* }* @_ZTIN5boost6detail15sp_counted_baseE to i8*) }
@_ZTSN5boost21checked_array_deleterINS_18default_color_typeEEE = linkonce_odr constant [58 x i8] c"N5boost21checked_array_deleterINS_18default_color_typeEEE\00"
@_ZTIN5boost21checked_array_deleterINS_18default_color_typeEEE = linkonce_odr unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv117__class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([58 x i8]* @_ZTSN5boost21checked_array_deleterINS_18default_color_typeEEE, i32 0, i32 0) }
@_ZTVN5boost6detail15sp_counted_baseE = linkonce_odr unnamed_addr constant [7 x i8*] [i8* null, i8* bitcast ({ i8*, i8* }* @_ZTIN5boost6detail15sp_counted_baseE to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_base"*)* @_ZN5boost6detail15sp_counted_baseD1Ev to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_base"*)* @_ZN5boost6detail15sp_counted_baseD0Ev to i8*), i8* bitcast (void ()* @__cxa_pure_virtual to i8*), i8* bitcast (void (%"class.boost::detail::sp_counted_base"*)* @_ZN5boost6detail15sp_counted_base7destroyEv to i8*), i8* bitcast (void ()* @__cxa_pure_virtual to i8*)]
@_ZN5boost9parameter7keywordINS_5graph8keywords3tag7visitorEE8instanceE = weak_odr constant %"struct.boost::parameter::keyword" undef, align 1
@.str2 = private unnamed_addr constant [8 x i8] c"px != 0\00", align 1
@.str3 = private unnamed_addr constant [59 x i8] c"/home/thomas/boost_1_52_0/boost/smart_ptr/shared_array.hpp\00", align 1
@__PRETTY_FUNCTION__._ZNK5boost12shared_arrayINS_18default_color_typeEEixEi = private unnamed_addr constant [116 x i8] c"T &boost::shared_array<boost::default_color_type>::operator[](std::ptrdiff_t) const [T = boost::default_color_type]\00", align 1
@.str4 = private unnamed_addr constant [7 x i8] c"i >= 0\00", align 1
@.str5 = private unnamed_addr constant [24 x i8] c"Forward or cross edge: \00", align 1
@.str6 = private unnamed_addr constant [6 x i8] c" --> \00", align 1
@.str7 = private unnamed_addr constant [12 x i8] c"Back edge: \00", align 1
@.str8 = private unnamed_addr constant [12 x i8] c"Tree edge: \00", align 1
@.str9 = private unnamed_addr constant [22 x i8] c"vector::_M_insert_aux\00", align 1
@_ZTVN5boost12graph_detail10vector_tagE = linkonce_odr unnamed_addr constant [13 x i8*] [i8* inttoptr (i32 4 to i8*), i8* inttoptr (i32 4 to i8*), i8* null, i8* null, i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTIN5boost12graph_detail10vector_tagE to i8*), i8* null, i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32, i8*, i32 }* @_ZTIN5boost12graph_detail10vector_tagE to i8*)]
@_ZTTN5boost12graph_detail10vector_tagE = linkonce_odr unnamed_addr constant [17 x i8*] [i8* bitcast (i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8) to i8*), i8* bitcast (i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8) to i8*), i8* bitcast (i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8) to i8*), i8* bitcast (i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8) to i8*), i8* bitcast (i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE0_NS0_27random_access_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE0_NS0_27random_access_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE0_NS0_27random_access_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE0_NS0_24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE0_NS0_24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([3 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE0_NS0_21forward_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE4_NS0_27back_insertion_sequence_tagE, i64 0, i64 5) to i8*), i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE4_NS0_27back_insertion_sequence_tagE, i64 0, i64 5) to i8*), i8* bitcast (i8** getelementptr inbounds ([8 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE4_NS0_27back_insertion_sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([7 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE4_NS0_12sequence_tagE, i64 0, i64 4) to i8*), i8* bitcast (i8** getelementptr inbounds ([7 x i8*]* @_ZTCN5boost12graph_detail10vector_tagE4_NS0_12sequence_tagE, i64 1, i64 0) to i8*)]
@_ZTVN10__cxxabiv121__vmi_class_type_infoE = external global i8*
@_ZTSN5boost12graph_detail10vector_tagE = linkonce_odr constant [35 x i8] c"N5boost12graph_detail10vector_tagE\00"
@_ZTSN5boost12graph_detail27random_access_container_tagE = linkonce_odr constant [52 x i8] c"N5boost12graph_detail27random_access_container_tagE\00"
@_ZTSN5boost12graph_detail24reversible_container_tagE = linkonce_odr constant [49 x i8] c"N5boost12graph_detail24reversible_container_tagE\00"
@_ZTSN5boost12graph_detail21forward_container_tagE = linkonce_odr constant [46 x i8] c"N5boost12graph_detail21forward_container_tagE\00"
@_ZTSN5boost12graph_detail13container_tagE = linkonce_odr constant [38 x i8] c"N5boost12graph_detail13container_tagE\00"
@_ZTIN5boost12graph_detail13container_tagE = linkonce_odr unnamed_addr constant { i8*, i8* } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv117__class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([38 x i8]* @_ZTSN5boost12graph_detail13container_tagE, i32 0, i32 0) }
@_ZTIN5boost12graph_detail21forward_container_tagE = linkonce_odr unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([46 x i8]* @_ZTSN5boost12graph_detail21forward_container_tagE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8* }* @_ZTIN5boost12graph_detail13container_tagE to i8*), i32 -3069 }
@_ZTIN5boost12graph_detail24reversible_container_tagE = linkonce_odr unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([49 x i8]* @_ZTSN5boost12graph_detail24reversible_container_tagE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*), i32 -4093 }
@_ZTIN5boost12graph_detail27random_access_container_tagE = linkonce_odr unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([52 x i8]* @_ZTSN5boost12graph_detail27random_access_container_tagE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail24reversible_container_tagE to i8*), i32 -5117 }
@_ZTSN5boost12graph_detail27back_insertion_sequence_tagE = linkonce_odr constant [52 x i8] c"N5boost12graph_detail27back_insertion_sequence_tagE\00"
@_ZTSN5boost12graph_detail12sequence_tagE = linkonce_odr constant [37 x i8] c"N5boost12graph_detail12sequence_tagE\00"
@_ZTIN5boost12graph_detail12sequence_tagE = linkonce_odr unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([37 x i8]* @_ZTSN5boost12graph_detail12sequence_tagE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*), i32 -4093 }
@_ZTIN5boost12graph_detail27back_insertion_sequence_tagE = linkonce_odr unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([52 x i8]* @_ZTSN5boost12graph_detail27back_insertion_sequence_tagE, i32 0, i32 0), i32 0, i32 1, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail12sequence_tagE to i8*), i32 -5117 }
@_ZTIN5boost12graph_detail10vector_tagE = linkonce_odr unnamed_addr constant { i8*, i8*, i32, i32, i8*, i32, i8*, i32 } { i8* bitcast (i8** getelementptr inbounds (i8** @_ZTVN10__cxxabiv121__vmi_class_type_infoE, i32 2) to i8*), i8* getelementptr inbounds ([35 x i8]* @_ZTSN5boost12graph_detail10vector_tagE, i32 0, i32 0), i32 2, i32 2, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27random_access_container_tagE to i8*), i32 -6141, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27back_insertion_sequence_tagE to i8*), i32 -7165 }
@_ZTCN5boost12graph_detail10vector_tagE0_NS0_27random_access_container_tagE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27random_access_container_tagE to i8*)]
@_ZTCN5boost12graph_detail10vector_tagE0_NS0_24reversible_container_tagE = linkonce_odr unnamed_addr constant [4 x i8*] [i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail24reversible_container_tagE to i8*)]
@_ZTCN5boost12graph_detail10vector_tagE0_NS0_21forward_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*)]
@_ZTCN5boost12graph_detail10vector_tagE4_NS0_27back_insertion_sequence_tagE = linkonce_odr unnamed_addr constant [8 x i8*] [i8* null, i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27back_insertion_sequence_tagE to i8*), i8* null, i8* inttoptr (i32 4 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27back_insertion_sequence_tagE to i8*)]
@_ZTCN5boost12graph_detail10vector_tagE4_NS0_12sequence_tagE = linkonce_odr unnamed_addr constant [7 x i8*] [i8* inttoptr (i32 -4 to i8*), i8* inttoptr (i32 -4 to i8*), i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail12sequence_tagE to i8*), i8* null, i8* inttoptr (i32 4 to i8*), i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail12sequence_tagE to i8*)]
@_ZTVN5boost12graph_detail27back_insertion_sequence_tagE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27back_insertion_sequence_tagE to i8*)]
@_ZTTN5boost12graph_detail27back_insertion_sequence_tagE = linkonce_odr unnamed_addr constant [6 x i8*] [i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27back_insertion_sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27back_insertion_sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27back_insertion_sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail27back_insertion_sequence_tagE0_NS0_12sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail27back_insertion_sequence_tagE0_NS0_12sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([3 x i8*]* @_ZTCN5boost12graph_detail27back_insertion_sequence_tagE0_NS0_21forward_container_tagE, i64 1, i64 0) to i8*)]
@_ZTCN5boost12graph_detail27back_insertion_sequence_tagE0_NS0_12sequence_tagE = linkonce_odr unnamed_addr constant [4 x i8*] [i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail12sequence_tagE to i8*)]
@_ZTCN5boost12graph_detail27back_insertion_sequence_tagE0_NS0_21forward_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*)]
@_ZTVN5boost12graph_detail12sequence_tagE = linkonce_odr unnamed_addr constant [4 x i8*] [i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail12sequence_tagE to i8*)]
@_ZTTN5boost12graph_detail12sequence_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTVN5boost12graph_detail12sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTVN5boost12graph_detail12sequence_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([3 x i8*]* @_ZTCN5boost12graph_detail12sequence_tagE0_NS0_21forward_container_tagE, i64 1, i64 0) to i8*)]
@_ZTCN5boost12graph_detail12sequence_tagE0_NS0_21forward_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*)]
@_ZTVN5boost12graph_detail27random_access_container_tagE = linkonce_odr unnamed_addr constant [5 x i8*] [i8* null, i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail27random_access_container_tagE to i8*)]
@_ZTTN5boost12graph_detail27random_access_container_tagE = linkonce_odr unnamed_addr constant [6 x i8*] [i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27random_access_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27random_access_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27random_access_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail27random_access_container_tagE0_NS0_24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTCN5boost12graph_detail27random_access_container_tagE0_NS0_24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([3 x i8*]* @_ZTCN5boost12graph_detail27random_access_container_tagE0_NS0_21forward_container_tagE, i64 1, i64 0) to i8*)]
@_ZTCN5boost12graph_detail27random_access_container_tagE0_NS0_24reversible_container_tagE = linkonce_odr unnamed_addr constant [4 x i8*] [i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail24reversible_container_tagE to i8*)]
@_ZTCN5boost12graph_detail27random_access_container_tagE0_NS0_21forward_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*)]
@_ZTVN5boost12graph_detail24reversible_container_tagE = linkonce_odr unnamed_addr constant [4 x i8*] [i8* null, i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail24reversible_container_tagE to i8*)]
@_ZTTN5boost12graph_detail24reversible_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTVN5boost12graph_detail24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([4 x i8*]* @_ZTVN5boost12graph_detail24reversible_container_tagE, i64 1, i64 0) to i8*), i8* bitcast (i8** getelementptr inbounds ([3 x i8*]* @_ZTCN5boost12graph_detail24reversible_container_tagE0_NS0_21forward_container_tagE, i64 1, i64 0) to i8*)]
@_ZTCN5boost12graph_detail24reversible_container_tagE0_NS0_21forward_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*)]
@_ZTVN5boost12graph_detail21forward_container_tagE = linkonce_odr unnamed_addr constant [3 x i8*] [i8* null, i8* null, i8* bitcast ({ i8*, i8*, i32, i32, i8*, i32 }* @_ZTIN5boost12graph_detail21forward_container_tagE to i8*)]
@_ZTTN5boost12graph_detail21forward_container_tagE = linkonce_odr unnamed_addr constant [1 x i8*] [i8* bitcast (i8** getelementptr inbounds ([3 x i8*]* @_ZTVN5boost12graph_detail21forward_container_tagE, i64 1, i64 0) to i8*)]
@.str10 = private unnamed_addr constant [23 x i8] c"vector::_M_fill_insert\00", align 1
@llvm.global_ctors = appending global [1 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* @_GLOBAL__I_a }]

define internal void @__cxx_global_var_init() section ".text.startup" {
entry:
  call void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"* @_ZStL8__ioinit)
  %0 = call i32 @__cxa_atexit(void (i8*)* bitcast (void (%"class.std::ios_base::Init"*)* @_ZNSt8ios_base4InitD1Ev to void (i8*)*), i8* getelementptr inbounds (%"class.std::ios_base::Init"* @_ZStL8__ioinit, i32 0, i32 0), i8* @__dso_handle) nounwind
  ret void
}

declare void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"*)

declare void @_ZNSt8ios_base4InitD1Ev(%"class.std::ios_base::Init"*)

declare i32 @__cxa_atexit(void (i8*)*, i8*, i8*) nounwind

define internal void @__cxx_global_var_init1() section ".text.startup" {
entry:
  call void @_ZN5boost6detail35make_property_map_from_arg_pack_genINS_5graph8keywords3tag9color_mapENS_18default_color_typeEEC1ES6_(%"class.boost::detail::make_property_map_from_arg_pack_gen"* @_ZN5boost6detailL28make_color_map_from_arg_packE, i32 0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail35make_property_map_from_arg_pack_genINS_5graph8keywords3tag9color_mapENS_18default_color_typeEEC1ES6_(%"class.boost::detail::make_property_map_from_arg_pack_gen"* %this, i32 %default_value) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::make_property_map_from_arg_pack_gen"*, align 4
  %default_value.addr = alloca i32, align 4
  store %"class.boost::detail::make_property_map_from_arg_pack_gen"* %this, %"class.boost::detail::make_property_map_from_arg_pack_gen"** %this.addr, align 4
  store i32 %default_value, i32* %default_value.addr, align 4
  %this1 = load %"class.boost::detail::make_property_map_from_arg_pack_gen"** %this.addr
  %0 = load i32* %default_value.addr, align 4
  call void @_ZN5boost6detail35make_property_map_from_arg_pack_genINS_5graph8keywords3tag9color_mapENS_18default_color_typeEEC2ES6_(%"class.boost::detail::make_property_map_from_arg_pack_gen"* %this1, i32 %0)
  ret void
}

define i32 @main(i32, i8**) {
entry:
  %retval = alloca i32, align 4
  %.addr = alloca i32, align 4
  %.addr1 = alloca i8**, align 4
  %G = alloca %"class.boost::adjacency_list", align 4
  %ref.tmp = alloca %"struct.boost::no_property", align 1
  %tmp = alloca %"struct.std::pair", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %tmp2 = alloca %"struct.std::pair", align 4
  %tmp4 = alloca %"struct.std::pair", align 4
  %tmp6 = alloca %"struct.std::pair", align 4
  %tmp8 = alloca %"struct.std::pair", align 4
  %tmp10 = alloca %"struct.std::pair", align 4
  %tmp12 = alloca %"struct.std::pair", align 4
  %tmp14 = alloca %"struct.std::pair", align 4
  %tmp16 = alloca %"struct.std::pair", align 4
  %d = alloca %"class.std::vector.3", align 4
  %ref.tmp20 = alloca i32, align 4
  %ref.tmp21 = alloca %"class.std::allocator.5", align 1
  %f = alloca %"class.std::vector.3", align 4
  %ref.tmp28 = alloca i32, align 4
  %ref.tmp29 = alloca %"class.std::allocator.5", align 1
  %t = alloca i32, align 4
  %ref.tmp33 = alloca %"struct.boost::bgl_named_params", align 4
  %ref.tmp34 = alloca %struct.edge_categorizer, align 4
  %ref.tmp35 = alloca %"struct.std::pair.8", align 4
  %agg.tmp = alloca %"struct.boost::time_stamper", align 4
  %agg.tmp39 = alloca %"struct.boost::on_discover_vertex", align 1
  %agg.tmp41 = alloca %"struct.boost::time_stamper.9", align 4
  %agg.tmp44 = alloca %"struct.boost::on_finish_vertex", align 1
  %i = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %j = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %ref.tmp54 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %ref.tmp56 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %ref.tmp58 = alloca %"class.__gnu_cxx::__normal_iterator", align 4
  %cleanup.dest.slot = alloca i32
  store i32 0, i32* %retval
  store i32 %0, i32* %.addr, align 4
  store i8** %1, i8*** %.addr1, align 4
  call void @_ZN5boost14adjacency_listINS_4vecSES1_NS_9directedSENS_11no_propertyES3_S3_NS_5listSEEC1EjRKS3_(%"class.boost::adjacency_list"* %G, i32 5, %"struct.boost::no_property"* %ref.tmp)
  %2 = bitcast %"class.boost::adjacency_list"* %G to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEESt4pairINT0_15edge_descriptorEbENSE_17vertex_descriptorESH_RNS_17vec_adj_list_implIT_SE_T1_EE(%"struct.std::pair"* sret %tmp, i32 0, i32 2, %"class.boost::vec_adj_list_impl"* %2)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %3 = bitcast %"class.boost::adjacency_list"* %G to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEESt4pairINT0_15edge_descriptorEbENSE_17vertex_descriptorESH_RNS_17vec_adj_list_implIT_SE_T1_EE(%"struct.std::pair"* sret %tmp2, i32 1, i32 1, %"class.boost::vec_adj_list_impl"* %3)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  %4 = bitcast %"class.boost::adjacency_list"* %G to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEESt4pairINT0_15edge_descriptorEbENSE_17vertex_descriptorESH_RNS_17vec_adj_list_implIT_SE_T1_EE(%"struct.std::pair"* sret %tmp4, i32 1, i32 3, %"class.boost::vec_adj_list_impl"* %4)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  %5 = bitcast %"class.boost::adjacency_list"* %G to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEESt4pairINT0_15edge_descriptorEbENSE_17vertex_descriptorESH_RNS_17vec_adj_list_implIT_SE_T1_EE(%"struct.std::pair"* sret %tmp6, i32 2, i32 1, %"class.boost::vec_adj_list_impl"* %5)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont5
  %6 = bitcast %"class.boost::adjacency_list"* %G to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEESt4pairINT0_15edge_descriptorEbENSE_17vertex_descriptorESH_RNS_17vec_adj_list_implIT_SE_T1_EE(%"struct.std::pair"* sret %tmp8, i32 2, i32 3, %"class.boost::vec_adj_list_impl"* %6)
          to label %invoke.cont9 unwind label %lpad

invoke.cont9:                                     ; preds = %invoke.cont7
  %7 = bitcast %"class.boost::adjacency_list"* %G to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEESt4pairINT0_15edge_descriptorEbENSE_17vertex_descriptorESH_RNS_17vec_adj_list_implIT_SE_T1_EE(%"struct.std::pair"* sret %tmp10, i32 3, i32 1, %"class.boost::vec_adj_list_impl"* %7)
          to label %invoke.cont11 unwind label %lpad

invoke.cont11:                                    ; preds = %invoke.cont9
  %8 = bitcast %"class.boost::adjacency_list"* %G to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEESt4pairINT0_15edge_descriptorEbENSE_17vertex_descriptorESH_RNS_17vec_adj_list_implIT_SE_T1_EE(%"struct.std::pair"* sret %tmp12, i32 3, i32 4, %"class.boost::vec_adj_list_impl"* %8)
          to label %invoke.cont13 unwind label %lpad

invoke.cont13:                                    ; preds = %invoke.cont11
  %9 = bitcast %"class.boost::adjacency_list"* %G to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEESt4pairINT0_15edge_descriptorEbENSE_17vertex_descriptorESH_RNS_17vec_adj_list_implIT_SE_T1_EE(%"struct.std::pair"* sret %tmp14, i32 4, i32 0, %"class.boost::vec_adj_list_impl"* %9)
          to label %invoke.cont15 unwind label %lpad

invoke.cont15:                                    ; preds = %invoke.cont13
  %10 = bitcast %"class.boost::adjacency_list"* %G to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEESt4pairINT0_15edge_descriptorEbENSE_17vertex_descriptorESH_RNS_17vec_adj_list_implIT_SE_T1_EE(%"struct.std::pair"* sret %tmp16, i32 4, i32 1, %"class.boost::vec_adj_list_impl"* %10)
          to label %invoke.cont17 unwind label %lpad

invoke.cont17:                                    ; preds = %invoke.cont15
  %11 = bitcast %"class.boost::adjacency_list"* %G to %"struct.boost::adj_list_helper"*
  %call = invoke i32 @_ZN5boost12num_verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EEEENT_18vertices_size_typeERKNS_15adj_list_helperISD_T0_EE(%"struct.boost::adj_list_helper"* %11)
          to label %invoke.cont19 unwind label %lpad

invoke.cont19:                                    ; preds = %invoke.cont17
  store i32 0, i32* %ref.tmp20, align 4
  call void @_ZNSaIjEC1Ev(%"class.std::allocator.5"* %ref.tmp21) nounwind
  invoke void @_ZNSt6vectorIjSaIjEEC1EjRKjRKS0_(%"class.std::vector.3"* %d, i32 %call, i32* %ref.tmp20, %"class.std::allocator.5"* %ref.tmp21)
          to label %invoke.cont23 unwind label %lpad22

invoke.cont23:                                    ; preds = %invoke.cont19
  call void @_ZNSaIjED1Ev(%"class.std::allocator.5"* %ref.tmp21) nounwind
  %12 = bitcast %"class.boost::adjacency_list"* %G to %"struct.boost::adj_list_helper"*
  %call27 = invoke i32 @_ZN5boost12num_verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EEEENT_18vertices_size_typeERKNS_15adj_list_helperISD_T0_EE(%"struct.boost::adj_list_helper"* %12)
          to label %invoke.cont26 unwind label %lpad25

invoke.cont26:                                    ; preds = %invoke.cont23
  store i32 0, i32* %ref.tmp28, align 4
  call void @_ZNSaIjEC1Ev(%"class.std::allocator.5"* %ref.tmp29) nounwind
  invoke void @_ZNSt6vectorIjSaIjEEC1EjRKjRKS0_(%"class.std::vector.3"* %f, i32 %call27, i32* %ref.tmp28, %"class.std::allocator.5"* %ref.tmp29)
          to label %invoke.cont31 unwind label %lpad30

invoke.cont31:                                    ; preds = %invoke.cont26
  call void @_ZNSaIjED1Ev(%"class.std::allocator.5"* %ref.tmp29) nounwind
  store i32 0, i32* %t, align 4
  %call38 = invoke i32* @_ZNSt6vectorIjSaIjEEixEj(%"class.std::vector.3"* %d, i32 0)
          to label %invoke.cont37 unwind label %lpad36

invoke.cont37:                                    ; preds = %invoke.cont31
  invoke void @_ZN5boost11stamp_timesIPjiNS_18on_discover_vertexEEENS_12time_stamperIT_T0_T1_EES4_RS5_S6_(%"struct.boost::time_stamper"* sret %agg.tmp, i32* %call38, i32* %t)
          to label %invoke.cont40 unwind label %lpad36

invoke.cont40:                                    ; preds = %invoke.cont37
  %call43 = invoke i32* @_ZNSt6vectorIjSaIjEEixEj(%"class.std::vector.3"* %f, i32 0)
          to label %invoke.cont42 unwind label %lpad36

invoke.cont42:                                    ; preds = %invoke.cont40
  invoke void @_ZN5boost11stamp_timesIPjiNS_16on_finish_vertexEEENS_12time_stamperIT_T0_T1_EES4_RS5_S6_(%"struct.boost::time_stamper.9"* sret %agg.tmp41, i32* %call43, i32* %t)
          to label %invoke.cont45 unwind label %lpad36

invoke.cont45:                                    ; preds = %invoke.cont42
  invoke void @_ZSt9make_pairIN5boost12time_stamperIPjiNS0_18on_discover_vertexEEENS1_IS2_iNS0_16on_finish_vertexEEEESt4pairIT_T0_ES8_S9_(%"struct.std::pair.8"* sret %ref.tmp35, %"struct.boost::time_stamper"* byval align 4 %agg.tmp, %"struct.boost::time_stamper.9"* byval align 4 %agg.tmp41)
          to label %invoke.cont46 unwind label %lpad36

invoke.cont46:                                    ; preds = %invoke.cont45
  invoke void @_Z16categorize_edgesISt4pairIN5boost12time_stamperIPjiNS1_18on_discover_vertexEEENS2_IS3_iNS1_16on_finish_vertexEEEEE16edge_categorizerIT_ERKSA_(%struct.edge_categorizer* sret %ref.tmp34, %"struct.std::pair.8"* %ref.tmp35)
          to label %invoke.cont47 unwind label %lpad36

invoke.cont47:                                    ; preds = %invoke.cont46
  invoke void @_ZN5boost7visitorI16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS3_IS4_iNS_16on_finish_vertexEEEEEEENS_16bgl_named_paramsIT_NS_15graph_visitor_tENS_11no_propertyEEERKSC_(%"struct.boost::bgl_named_params"* sret %ref.tmp33, %struct.edge_categorizer* %ref.tmp34)
          to label %invoke.cont48 unwind label %lpad36

invoke.cont48:                                    ; preds = %invoke.cont47
  invoke void @_ZN5boost18depth_first_searchINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEE16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS9_ISA_iNS_16on_finish_vertexEEEEENS_15graph_visitor_tES4_EENS_9result_ofIFNS_5graph6detail23depth_first_search_implIT_EESM_RKNS_6detail37convert_bgl_params_to_boost_parameterINS_16bgl_named_paramsIT0_T1_T2_EEE4typeEEE4typeERKSM_RKSU_(%"class.boost::adjacency_list"* %G, %"struct.boost::bgl_named_params"* %ref.tmp33)
          to label %invoke.cont49 unwind label %lpad36

invoke.cont49:                                    ; preds = %invoke.cont48
  invoke void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC1Ev(%"class.__gnu_cxx::__normal_iterator"* %i)
          to label %invoke.cont51 unwind label %lpad36

invoke.cont51:                                    ; preds = %invoke.cont49
  invoke void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC1Ev(%"class.__gnu_cxx::__normal_iterator"* %j)
          to label %invoke.cont53 unwind label %lpad36

invoke.cont53:                                    ; preds = %invoke.cont51
  invoke void @_ZNSt6vectorIjSaIjEE5beginEv(%"class.__gnu_cxx::__normal_iterator"* sret %ref.tmp54, %"class.std::vector.3"* %d)
          to label %invoke.cont55 unwind label %lpad36

invoke.cont55:                                    ; preds = %invoke.cont53
  %13 = bitcast %"class.__gnu_cxx::__normal_iterator"* %i to i8*
  %14 = bitcast %"class.__gnu_cxx::__normal_iterator"* %ref.tmp54 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %13, i8* %14, i32 4, i32 4, i1 false)
  invoke void @_ZNSt6vectorIjSaIjEE5beginEv(%"class.__gnu_cxx::__normal_iterator"* sret %ref.tmp56, %"class.std::vector.3"* %f)
          to label %invoke.cont57 unwind label %lpad36

invoke.cont57:                                    ; preds = %invoke.cont55
  %15 = bitcast %"class.__gnu_cxx::__normal_iterator"* %j to i8*
  %16 = bitcast %"class.__gnu_cxx::__normal_iterator"* %ref.tmp56 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %15, i8* %16, i32 4, i32 4, i1 false)
  br label %for.cond

for.cond:                                         ; preds = %invoke.cont76, %invoke.cont57
  invoke void @_ZNSt6vectorIjSaIjEE3endEv(%"class.__gnu_cxx::__normal_iterator"* sret %ref.tmp58, %"class.std::vector.3"* %d)
          to label %invoke.cont59 unwind label %lpad36

invoke.cont59:                                    ; preds = %for.cond
  %call61 = invoke zeroext i1 @_ZN9__gnu_cxxneIPjSt6vectorIjSaIjEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(%"class.__gnu_cxx::__normal_iterator"* %i, %"class.__gnu_cxx::__normal_iterator"* %ref.tmp58)
          to label %invoke.cont60 unwind label %lpad36

invoke.cont60:                                    ; preds = %invoke.cont59
  br i1 %call61, label %for.body, label %for.end

for.body:                                         ; preds = %invoke.cont60
  %call63 = invoke i32* @_ZNK9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %i)
          to label %invoke.cont62 unwind label %lpad36

invoke.cont62:                                    ; preds = %for.body
  %17 = load i32* %call63
  %call65 = invoke %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"* @_ZSt4cout, i32 %17)
          to label %invoke.cont64 unwind label %lpad36

invoke.cont64:                                    ; preds = %invoke.cont62
  %call67 = invoke %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call65, i8* getelementptr inbounds ([2 x i8]* @.str, i32 0, i32 0))
          to label %invoke.cont66 unwind label %lpad36

invoke.cont66:                                    ; preds = %invoke.cont64
  %call69 = invoke i32* @_ZNK9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %j)
          to label %invoke.cont68 unwind label %lpad36

invoke.cont68:                                    ; preds = %invoke.cont66
  %18 = load i32* %call69
  %call71 = invoke %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"* %call67, i32 %18)
          to label %invoke.cont70 unwind label %lpad36

invoke.cont70:                                    ; preds = %invoke.cont68
  %call73 = invoke %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call71, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %invoke.cont72 unwind label %lpad36

invoke.cont72:                                    ; preds = %invoke.cont70
  br label %for.inc

for.inc:                                          ; preds = %invoke.cont72
  %call75 = invoke %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEppEv(%"class.__gnu_cxx::__normal_iterator"* %i)
          to label %invoke.cont74 unwind label %lpad36

invoke.cont74:                                    ; preds = %for.inc
  %call77 = invoke %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEppEv(%"class.__gnu_cxx::__normal_iterator"* %j)
          to label %invoke.cont76 unwind label %lpad36

invoke.cont76:                                    ; preds = %invoke.cont74
  br label %for.cond

lpad:                                             ; preds = %invoke.cont78, %invoke.cont17, %invoke.cont15, %invoke.cont13, %invoke.cont11, %invoke.cont9, %invoke.cont7, %invoke.cont5, %invoke.cont3, %invoke.cont, %entry
  %19 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %20 = extractvalue { i8*, i32 } %19, 0
  store i8* %20, i8** %exn.slot
  %21 = extractvalue { i8*, i32 } %19, 1
  store i32 %21, i32* %ehselector.slot
  br label %ehcleanup82

lpad22:                                           ; preds = %invoke.cont19
  %22 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %23 = extractvalue { i8*, i32 } %22, 0
  store i8* %23, i8** %exn.slot
  %24 = extractvalue { i8*, i32 } %22, 1
  store i32 %24, i32* %ehselector.slot
  call void @_ZNSaIjED1Ev(%"class.std::allocator.5"* %ref.tmp21) nounwind
  br label %ehcleanup82

lpad25:                                           ; preds = %for.end, %invoke.cont23
  %25 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %26 = extractvalue { i8*, i32 } %25, 0
  store i8* %26, i8** %exn.slot
  %27 = extractvalue { i8*, i32 } %25, 1
  store i32 %27, i32* %ehselector.slot
  br label %ehcleanup

lpad30:                                           ; preds = %invoke.cont26
  %28 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %29 = extractvalue { i8*, i32 } %28, 0
  store i8* %29, i8** %exn.slot
  %30 = extractvalue { i8*, i32 } %28, 1
  store i32 %30, i32* %ehselector.slot
  call void @_ZNSaIjED1Ev(%"class.std::allocator.5"* %ref.tmp29) nounwind
  br label %ehcleanup

lpad36:                                           ; preds = %invoke.cont74, %for.inc, %invoke.cont70, %invoke.cont68, %invoke.cont66, %invoke.cont64, %invoke.cont62, %for.body, %invoke.cont59, %for.cond, %invoke.cont55, %invoke.cont53, %invoke.cont51, %invoke.cont49, %invoke.cont48, %invoke.cont47, %invoke.cont46, %invoke.cont45, %invoke.cont42, %invoke.cont40, %invoke.cont37, %invoke.cont31
  %31 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %32 = extractvalue { i8*, i32 } %31, 0
  store i8* %32, i8** %exn.slot
  %33 = extractvalue { i8*, i32 } %31, 1
  store i32 %33, i32* %ehselector.slot
  invoke void @_ZNSt6vectorIjSaIjEED1Ev(%"class.std::vector.3"* %f)
          to label %invoke.cont79 unwind label %terminate.lpad

for.end:                                          ; preds = %invoke.cont60
  store i32 0, i32* %retval
  store i32 1, i32* %cleanup.dest.slot
  invoke void @_ZNSt6vectorIjSaIjEED1Ev(%"class.std::vector.3"* %f)
          to label %invoke.cont78 unwind label %lpad25

invoke.cont78:                                    ; preds = %for.end
  invoke void @_ZNSt6vectorIjSaIjEED1Ev(%"class.std::vector.3"* %d)
          to label %invoke.cont80 unwind label %lpad

invoke.cont79:                                    ; preds = %lpad36
  br label %ehcleanup

invoke.cont80:                                    ; preds = %invoke.cont78
  call void @_ZN5boost14adjacency_listINS_4vecSES1_NS_9directedSENS_11no_propertyES3_S3_NS_5listSEED1Ev(%"class.boost::adjacency_list"* %G)
  %34 = load i32* %retval
  ret i32 %34

ehcleanup:                                        ; preds = %invoke.cont79, %lpad30, %lpad25
  invoke void @_ZNSt6vectorIjSaIjEED1Ev(%"class.std::vector.3"* %d)
          to label %invoke.cont81 unwind label %terminate.lpad

invoke.cont81:                                    ; preds = %ehcleanup
  br label %ehcleanup82

ehcleanup82:                                      ; preds = %invoke.cont81, %lpad22, %lpad
  invoke void @_ZN5boost14adjacency_listINS_4vecSES1_NS_9directedSENS_11no_propertyES3_S3_NS_5listSEED1Ev(%"class.boost::adjacency_list"* %G)
          to label %invoke.cont83 unwind label %terminate.lpad

invoke.cont83:                                    ; preds = %ehcleanup82
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont83
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val84 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val84

terminate.lpad:                                   ; preds = %ehcleanup82, %ehcleanup, %lpad36
  %35 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost14adjacency_listINS_4vecSES1_NS_9directedSENS_11no_propertyES3_S3_NS_5listSEEC1EjRKS3_(%"class.boost::adjacency_list"* %this, i32 %num_vertices, %"struct.boost::no_property"* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::adjacency_list"*, align 4
  %num_vertices.addr = alloca i32, align 4
  %p.addr = alloca %"struct.boost::no_property"*, align 4
  store %"class.boost::adjacency_list"* %this, %"class.boost::adjacency_list"** %this.addr, align 4
  store i32 %num_vertices, i32* %num_vertices.addr, align 4
  store %"struct.boost::no_property"* %p, %"struct.boost::no_property"** %p.addr, align 4
  %this1 = load %"class.boost::adjacency_list"** %this.addr
  %0 = load i32* %num_vertices.addr, align 4
  %1 = load %"struct.boost::no_property"** %p.addr
  call void @_ZN5boost14adjacency_listINS_4vecSES1_NS_9directedSENS_11no_propertyES3_S3_NS_5listSEEC2EjRKS3_(%"class.boost::adjacency_list"* %this1, i32 %0, %"struct.boost::no_property"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEESt4pairINT0_15edge_descriptorEbENSE_17vertex_descriptorESH_RNS_17vec_adj_list_implIT_SE_T1_EE(%"struct.std::pair"* noalias sret %agg.result, i32 %u, i32 %v, %"class.boost::vec_adj_list_impl"* %g_) inlinehint {
entry:
  %u.addr = alloca i32, align 4
  %v.addr = alloca i32, align 4
  %g_.addr = alloca %"class.boost::vec_adj_list_impl"*, align 4
  %p = alloca %"struct.boost::no_property", align 1
  store i32 %u, i32* %u.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  store %"class.boost::vec_adj_list_impl"* %g_, %"class.boost::vec_adj_list_impl"** %g_.addr, align 4
  %0 = load i32* %u.addr, align 4
  %1 = load i32* %v.addr, align 4
  %2 = load %"class.boost::vec_adj_list_impl"** %g_.addr, align 4
  call void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEESt4pairINT0_15edge_descriptorEbENSE_17vertex_descriptorESH_RKNSE_18edge_property_typeERNS_17vec_adj_list_implIT_SE_T1_EE(%"struct.std::pair"* sret %agg.result, i32 %0, i32 %1, %"struct.boost::no_property"* %p, %"class.boost::vec_adj_list_impl"* %2)
  ret void
}

declare i32 @__gxx_personality_v0(...)

define linkonce_odr void @_ZNSt6vectorIjSaIjEEC1EjRKjRKS0_(%"class.std::vector.3"* %this, i32 %__n, i32* %__value, %"class.std::allocator.5"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca i32*, align 4
  %__a.addr = alloca %"class.std::allocator.5"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__value, i32** %__value.addr, align 4
  store %"class.std::allocator.5"* %__a, %"class.std::allocator.5"** %__a.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %1 = load i32** %__value.addr
  %2 = load %"class.std::allocator.5"** %__a.addr
  call void @_ZNSt6vectorIjSaIjEEC2EjRKjRKS0_(%"class.std::vector.3"* %this1, i32 %0, i32* %1, %"class.std::allocator.5"* %2)
  ret void
}

define linkonce_odr i32 @_ZN5boost12num_verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EEEENT_18vertices_size_typeERKNS_15adj_list_helperISD_T0_EE(%"struct.boost::adj_list_helper"* %g_) inlinehint {
entry:
  %g_.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %g = alloca %"class.boost::adjacency_list"*, align 4
  %tmp = alloca %"class.boost::integer_range", align 4
  store %"struct.boost::adj_list_helper"* %g_, %"struct.boost::adj_list_helper"** %g_.addr, align 4
  %0 = load %"struct.boost::adj_list_helper"** %g_.addr, align 4
  %1 = bitcast %"struct.boost::adj_list_helper"* %0 to %"class.boost::adjacency_list"*
  store %"class.boost::adjacency_list"* %1, %"class.boost::adjacency_list"** %g, align 4
  %2 = load %"class.boost::adjacency_list"** %g, align 4
  %3 = bitcast %"class.boost::adjacency_list"* %2 to %"class.boost::vec_adj_list_impl"*
  call void @_ZNK5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEE10vertex_setEv(%"class.boost::integer_range"* sret %tmp, %"class.boost::vec_adj_list_impl"* %3)
  %4 = bitcast %"class.boost::integer_range"* %tmp to %"class.boost::iterator_range"*
  %call = call i32 @_ZNK5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEE4sizeEv(%"class.boost::iterator_range"* %4)
  ret i32 %call
}

define linkonce_odr void @_ZNSaIjEC1Ev(%"class.std::allocator.5"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.5"*, align 4
  store %"class.std::allocator.5"* %this, %"class.std::allocator.5"** %this.addr, align 4
  %this1 = load %"class.std::allocator.5"** %this.addr
  call void @_ZNSaIjEC2Ev(%"class.std::allocator.5"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIjED1Ev(%"class.std::allocator.5"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.5"*, align 4
  store %"class.std::allocator.5"* %this, %"class.std::allocator.5"** %this.addr, align 4
  %this1 = load %"class.std::allocator.5"** %this.addr
  call void @_ZNSaIjED2Ev(%"class.std::allocator.5"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZN5boost18depth_first_searchINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEE16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS9_ISA_iNS_16on_finish_vertexEEEEENS_15graph_visitor_tES4_EENS_9result_ofIFNS_5graph6detail23depth_first_search_implIT_EESM_RKNS_6detail37convert_bgl_params_to_boost_parameterINS_16bgl_named_paramsIT0_T1_T2_EEE4typeEEE4typeERKSM_RKSU_(%"class.boost::adjacency_list"* %param0, %"struct.boost::bgl_named_params"* %old_style_params) {
entry:
  %param0.addr = alloca %"class.boost::adjacency_list"*, align 4
  %old_style_params.addr = alloca %"struct.boost::bgl_named_params"*, align 4
  %arg_pack = alloca %"struct.boost::parameter::aux::arg_list", align 4
  store %"class.boost::adjacency_list"* %param0, %"class.boost::adjacency_list"** %param0.addr, align 4
  store %"struct.boost::bgl_named_params"* %old_style_params, %"struct.boost::bgl_named_params"** %old_style_params.addr, align 4
  %0 = load %"struct.boost::bgl_named_params"** %old_style_params.addr, align 4
  call void @_ZN5boost6detail37convert_bgl_params_to_boost_parameterINS_16bgl_named_paramsI16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS5_IS6_iNS_16on_finish_vertexEEEEENS_15graph_visitor_tENS_11no_propertyEEEE4convERKSF_(%"struct.boost::parameter::aux::arg_list"* sret %arg_pack, %"struct.boost::bgl_named_params"* %0)
  %1 = load %"class.boost::adjacency_list"** %param0.addr, align 4
  call void @_ZN5boost5graph36depth_first_search_with_named_paramsINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEENS_9parameter3aux8arg_listINS9_15tagged_argumentINS0_8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSH_ISI_iNS_16on_finish_vertexEEEEEEENS9_14empty_arg_listEEEEENS_9result_ofIFNS0_6detail23depth_first_search_implIT_EESW_RKT0_EE4typeERKSW_S10_(%"class.boost::adjacency_list"* %1, %"struct.boost::parameter::aux::arg_list"* %arg_pack)
  ret void
}

define linkonce_odr void @_ZN5boost7visitorI16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS3_IS4_iNS_16on_finish_vertexEEEEEEENS_16bgl_named_paramsIT_NS_15graph_visitor_tENS_11no_propertyEEERKSC_(%"struct.boost::bgl_named_params"* noalias sret %agg.result, %struct.edge_categorizer* %p) {
entry:
  %p.addr = alloca %struct.edge_categorizer*, align 4
  %agg.tmp = alloca %struct.edge_categorizer, align 4
  store %struct.edge_categorizer* %p, %struct.edge_categorizer** %p.addr, align 4
  %0 = load %struct.edge_categorizer** %p.addr, align 4
  %1 = bitcast %struct.edge_categorizer* %agg.tmp to i8*
  %2 = bitcast %struct.edge_categorizer* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 16, i32 4, i1 false)
  call void @_ZN5boost16bgl_named_paramsI16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS3_IS4_iNS_16on_finish_vertexEEEEENS_15graph_visitor_tENS_11no_propertyEEC1ESA_(%"struct.boost::bgl_named_params"* %agg.result, %struct.edge_categorizer* byval align 4 %agg.tmp)
  ret void
}

define linkonce_odr void @_Z16categorize_edgesISt4pairIN5boost12time_stamperIPjiNS1_18on_discover_vertexEEENS2_IS3_iNS1_16on_finish_vertexEEEEE16edge_categorizerIT_ERKSA_(%struct.edge_categorizer* noalias sret %agg.result, %"struct.std::pair.8"* %v) {
entry:
  %v.addr = alloca %"struct.std::pair.8"*, align 4
  store %"struct.std::pair.8"* %v, %"struct.std::pair.8"** %v.addr, align 4
  %0 = load %"struct.std::pair.8"** %v.addr, align 4
  call void @_ZN16edge_categorizerISt4pairIN5boost12time_stamperIPjiNS1_18on_discover_vertexEEENS2_IS3_iNS1_16on_finish_vertexEEEEEC1ERKS8_(%struct.edge_categorizer* %agg.result, %"struct.std::pair.8"* %0)
  ret void
}

define linkonce_odr void @_ZSt9make_pairIN5boost12time_stamperIPjiNS0_18on_discover_vertexEEENS1_IS2_iNS0_16on_finish_vertexEEEESt4pairIT_T0_ES8_S9_(%"struct.std::pair.8"* noalias sret %agg.result, %"struct.boost::time_stamper"* byval align 4 %__x, %"struct.boost::time_stamper.9"* byval align 4 %__y) inlinehint {
entry:
  call void @_ZNSt4pairIN5boost12time_stamperIPjiNS0_18on_discover_vertexEEENS1_IS2_iNS0_16on_finish_vertexEEEEC1ERKS4_RKS6_(%"struct.std::pair.8"* %agg.result, %"struct.boost::time_stamper"* %__x, %"struct.boost::time_stamper.9"* %__y)
  ret void
}

define linkonce_odr void @_ZN5boost11stamp_timesIPjiNS_18on_discover_vertexEEENS_12time_stamperIT_T0_T1_EES4_RS5_S6_(%"struct.boost::time_stamper"* noalias sret %agg.result, i32* %pa, i32* %time_counter) {
entry:
  %pa.addr = alloca i32*, align 4
  %time_counter.addr = alloca i32*, align 4
  %0 = alloca %"struct.boost::on_discover_vertex", align 1
  store i32* %pa, i32** %pa.addr, align 4
  store i32* %time_counter, i32** %time_counter.addr, align 4
  %1 = load i32** %pa.addr, align 4
  %2 = load i32** %time_counter.addr, align 4
  call void @_ZN5boost12time_stamperIPjiNS_18on_discover_vertexEEC1ES1_Ri(%"struct.boost::time_stamper"* %agg.result, i32* %1, i32* %2)
  ret void
}

define linkonce_odr i32* @_ZNSt6vectorIjSaIjEEixEj(%"class.std::vector.3"* %this, i32 %__n) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %__n.addr = alloca i32, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load i32** %_M_start, align 4
  %2 = load i32* %__n.addr, align 4
  %add.ptr = getelementptr inbounds i32* %1, i32 %2
  ret i32* %add.ptr
}

define linkonce_odr void @_ZN5boost11stamp_timesIPjiNS_16on_finish_vertexEEENS_12time_stamperIT_T0_T1_EES4_RS5_S6_(%"struct.boost::time_stamper.9"* noalias sret %agg.result, i32* %pa, i32* %time_counter) {
entry:
  %pa.addr = alloca i32*, align 4
  %time_counter.addr = alloca i32*, align 4
  %0 = alloca %"struct.boost::on_finish_vertex", align 1
  store i32* %pa, i32** %pa.addr, align 4
  store i32* %time_counter, i32** %time_counter.addr, align 4
  %1 = load i32** %pa.addr, align 4
  %2 = load i32** %time_counter.addr, align 4
  call void @_ZN5boost12time_stamperIPjiNS_16on_finish_vertexEEC1ES1_Ri(%"struct.boost::time_stamper.9"* %agg.result, i32* %1, i32* %2)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC1Ev(%"class.__gnu_cxx::__normal_iterator"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC2Ev(%"class.__gnu_cxx::__normal_iterator"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIjSaIjEE5beginEv(%"class.__gnu_cxx::__normal_iterator"* noalias sret %agg.result, %"class.std::vector.3"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  call void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC1ERKS1_(%"class.__gnu_cxx::__normal_iterator"* %agg.result, i32** %_M_start)
  ret void
}

declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture, i8* nocapture, i32, i32, i1) nounwind

define linkonce_odr zeroext i1 @_ZN9__gnu_cxxneIPjSt6vectorIjSaIjEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(%"class.__gnu_cxx::__normal_iterator"* %__lhs, %"class.__gnu_cxx::__normal_iterator"* %__rhs) inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %__lhs, %"class.__gnu_cxx::__normal_iterator"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %__rhs, %"class.__gnu_cxx::__normal_iterator"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator"** %__lhs.addr, align 4
  %call = call i32** @_ZNK9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEE4baseEv(%"class.__gnu_cxx::__normal_iterator"* %0)
  %1 = load i32** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator"** %__rhs.addr, align 4
  %call1 = call i32** @_ZNK9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEE4baseEv(%"class.__gnu_cxx::__normal_iterator"* %2)
  %3 = load i32** %call1
  %cmp = icmp ne i32* %1, %3
  ret i1 %cmp
}

define linkonce_odr void @_ZNSt6vectorIjSaIjEE3endEv(%"class.__gnu_cxx::__normal_iterator"* noalias sret %agg.result, %"class.std::vector.3"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl, i32 0, i32 1
  call void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC1ERKS1_(%"class.__gnu_cxx::__normal_iterator"* %agg.result, i32** %_M_finish)
  ret void
}

declare %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"*, i8*)

declare %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"*, i32)

define linkonce_odr i32* @_ZNK9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEdeEv(%"class.__gnu_cxx::__normal_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator"* %this1, i32 0, i32 0
  %0 = load i32** %_M_current, align 4
  ret i32* %0
}

declare %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"*, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)*)

declare %"class.std::basic_ostream"* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(%"class.std::basic_ostream"*)

define linkonce_odr %"class.__gnu_cxx::__normal_iterator"* @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEppEv(%"class.__gnu_cxx::__normal_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator"* %this1, i32 0, i32 0
  %0 = load i32** %_M_current, align 4
  %incdec.ptr = getelementptr inbounds i32* %0, i32 1
  store i32* %incdec.ptr, i32** %_M_current, align 4
  ret %"class.__gnu_cxx::__normal_iterator"* %this1
}

define linkonce_odr void @_ZNSt6vectorIjSaIjEED1Ev(%"class.std::vector.3"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  call void @_ZNSt6vectorIjSaIjEED2Ev(%"class.std::vector.3"* %this1)
  ret void
}

declare void @_ZSt9terminatev()

define linkonce_odr void @_ZN5boost14adjacency_listINS_4vecSES1_NS_9directedSENS_11no_propertyES3_S3_NS_5listSEED1Ev(%"class.boost::adjacency_list"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::adjacency_list"*, align 4
  store %"class.boost::adjacency_list"* %this, %"class.boost::adjacency_list"** %this.addr, align 4
  %this1 = load %"class.boost::adjacency_list"** %this.addr
  call void @_ZN5boost14adjacency_listINS_4vecSES1_NS_9directedSENS_11no_propertyES3_S3_NS_5listSEED2Ev(%"class.boost::adjacency_list"* %this1)
  ret void
}

define linkonce_odr i32** @_ZNK9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEE4baseEv(%"class.__gnu_cxx::__normal_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator"* %this1, i32 0, i32 0
  ret i32** %_M_current
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC1ERKS1_(%"class.__gnu_cxx::__normal_iterator"* %this, i32** %__i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  %__i.addr = alloca i32**, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  store i32** %__i, i32*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %0 = load i32*** %__i.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC2ERKS1_(%"class.__gnu_cxx::__normal_iterator"* %this1, i32** %0)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC2ERKS1_(%"class.__gnu_cxx::__normal_iterator"* %this, i32** %__i) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  %__i.addr = alloca i32**, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  store i32** %__i, i32*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator"* %this1, i32 0, i32 0
  %0 = load i32*** %__i.addr, align 4
  %1 = load i32** %0, align 4
  store i32* %1, i32** %_M_current, align 4
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPjSt6vectorIjSaIjEEEC2Ev(%"class.__gnu_cxx::__normal_iterator"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator"*, align 4
  store %"class.__gnu_cxx::__normal_iterator"* %this, %"class.__gnu_cxx::__normal_iterator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator"* %this1, i32 0, i32 0
  store i32* null, i32** %_M_current, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6detail37convert_bgl_params_to_boost_parameterINS_16bgl_named_paramsI16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS5_IS6_iNS_16on_finish_vertexEEEEENS_15graph_visitor_tENS_11no_propertyEEEE4convERKSF_(%"struct.boost::parameter::aux::arg_list"* noalias sret %agg.result, %"struct.boost::bgl_named_params"* %x) align 2 {
entry:
  %x.addr = alloca %"struct.boost::bgl_named_params"*, align 4
  %agg.tmp = alloca %"struct.boost::parameter::aux::tagged_argument", align 4
  %ref.tmp = alloca %"struct.boost::parameter::aux::empty_arg_list", align 1
  store %"struct.boost::bgl_named_params"* %x, %"struct.boost::bgl_named_params"** %x.addr, align 4
  %0 = load %"struct.boost::bgl_named_params"** %x.addr, align 4
  %m_value = getelementptr inbounds %"struct.boost::bgl_named_params"* %0, i32 0, i32 0
  call void @_ZN5boost9parameter3aux15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS9_ISA_iNS_16on_finish_vertexEEEEEEC1ERSH_(%"struct.boost::parameter::aux::tagged_argument"* %agg.tmp, %struct.edge_categorizer* %m_value)
  %1 = load %"struct.boost::bgl_named_params"** %x.addr, align 4
  %m_base = getelementptr inbounds %"struct.boost::bgl_named_params"* %1, i32 0, i32 1
  call void @_ZN5boost6detail37convert_bgl_params_to_boost_parameterINS_11no_propertyEE4convERKS2_(%"struct.boost::parameter::aux::empty_arg_list"* sret %ref.tmp, %"struct.boost::no_property"* %m_base)
  call void @_ZN5boost9parameter3aux8arg_listINS1_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSA_ISB_iNS_16on_finish_vertexEEEEEEENS1_14empty_arg_listEEC1ESJ_RKSK_(%"struct.boost::parameter::aux::arg_list"* %agg.result, %"struct.boost::parameter::aux::tagged_argument"* byval align 4 %agg.tmp, %"struct.boost::parameter::aux::empty_arg_list"* %ref.tmp)
  ret void
}

define linkonce_odr void @_ZN5boost5graph36depth_first_search_with_named_paramsINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEENS_9parameter3aux8arg_listINS9_15tagged_argumentINS0_8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSH_ISI_iNS_16on_finish_vertexEEEEEEENS9_14empty_arg_listEEEEENS_9result_ofIFNS0_6detail23depth_first_search_implIT_EESW_RKT0_EE4typeERKSW_S10_(%"class.boost::adjacency_list"* %param0, %"struct.boost::parameter::aux::arg_list"* %arg_pack) {
entry:
  %param0.addr = alloca %"class.boost::adjacency_list"*, align 4
  %arg_pack.addr = alloca %"struct.boost::parameter::aux::arg_list"*, align 4
  %tmp = alloca %"struct.boost::graph::detail::depth_first_search_impl", align 1
  store %"class.boost::adjacency_list"* %param0, %"class.boost::adjacency_list"** %param0.addr, align 4
  store %"struct.boost::parameter::aux::arg_list"* %arg_pack, %"struct.boost::parameter::aux::arg_list"** %arg_pack.addr, align 4
  %0 = load %"class.boost::adjacency_list"** %param0.addr, align 4
  %1 = load %"struct.boost::parameter::aux::arg_list"** %arg_pack.addr, align 4
  call void @_ZNK5boost5graph6detail23depth_first_search_implINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEEEclINS_9parameter3aux8arg_listINSC_15tagged_argumentINS0_8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSK_ISL_iNS_16on_finish_vertexEEEEEEENSC_14empty_arg_listEEEEEvRKS8_RKT_(%"struct.boost::graph::detail::depth_first_search_impl"* %tmp, %"class.boost::adjacency_list"* %0, %"struct.boost::parameter::aux::arg_list"* %1)
  ret void
}

define linkonce_odr void @_ZNK5boost5graph6detail23depth_first_search_implINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEEEclINS_9parameter3aux8arg_listINSC_15tagged_argumentINS0_8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSK_ISL_iNS_16on_finish_vertexEEEEEEENSC_14empty_arg_listEEEEEvRKS8_RKT_(%"struct.boost::graph::detail::depth_first_search_impl"* %this, %"class.boost::adjacency_list"* %g, %"struct.boost::parameter::aux::arg_list"* %arg_pack) align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph::detail::depth_first_search_impl"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %arg_pack.addr = alloca %"struct.boost::parameter::aux::arg_list"*, align 4
  %agg.tmp = alloca %struct.edge_categorizer, align 4
  %ref.tmp = alloca %"struct.boost::parameter::aux::default_", align 4
  %ref.tmp2 = alloca %"class.boost::dfs_visitor.17", align 1
  %agg.tmp3 = alloca %"struct.boost::null_visitor", align 1
  %agg.tmp4 = alloca %"class.boost::shared_array_property_map", align 4
  %agg.tmp5 = alloca %"struct.boost::parameter::aux::lazy_default", align 4
  %ref.tmp6 = alloca %"struct.boost::detail::get_default_starting_vertex_t", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.boost::graph::detail::depth_first_search_impl"* %this, %"struct.boost::graph::detail::depth_first_search_impl"** %this.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  store %"struct.boost::parameter::aux::arg_list"* %arg_pack, %"struct.boost::parameter::aux::arg_list"** %arg_pack.addr, align 4
  %this1 = load %"struct.boost::graph::detail::depth_first_search_impl"** %this.addr
  %0 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = load %"struct.boost::parameter::aux::arg_list"** %arg_pack.addr, align 4
  %2 = load %"struct.boost::parameter::keyword"** @_ZN5boost5graph8keywords12_GLOBAL__N_18_visitorE, align 4
  call void @_ZN5boost16make_dfs_visitorINS_12null_visitorEEENS_11dfs_visitorIT_EES3_(%"class.boost::dfs_visitor.17"* sret %ref.tmp2)
  call void @_ZNK5boost9parameter7keywordINS_5graph8keywords3tag7visitorEEorINS_11dfs_visitorINS_12null_visitorEEEEENS0_3aux8default_IS5_KT_EERSE_(%"struct.boost::parameter::aux::default_"* sret %ref.tmp, %"struct.boost::parameter::keyword"* %2, %"class.boost::dfs_visitor.17"* %ref.tmp2)
  %call = call %struct.edge_categorizer* @_ZNK5boost9parameter3aux8arg_listINS1_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSA_ISB_iNS_16on_finish_vertexEEEEEEENS1_14empty_arg_listEEixIKNS_11dfs_visitorINS_12null_visitorEEEEERSI_RKNS1_8default_IS7_T_EE(%"struct.boost::parameter::aux::arg_list"* %1, %"struct.boost::parameter::aux::default_"* %ref.tmp)
  %3 = bitcast %struct.edge_categorizer* %agg.tmp to i8*
  %4 = bitcast %struct.edge_categorizer* %call to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 16, i32 4, i1 false)
  %5 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %6 = load %"struct.boost::parameter::aux::arg_list"** %arg_pack.addr, align 4
  call void @_ZNK5boost6detail35make_property_map_from_arg_pack_genINS_5graph8keywords3tag9color_mapENS_18default_color_typeEEclINS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEENS_9parameter3aux8arg_listINSG_15tagged_argumentINS4_7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSM_ISN_iNS_16on_finish_vertexEEEEEEENSG_14empty_arg_listEEEEENS0_9map_makerIT_T0_S5_S6_E8map_typeERKSZ_RKS10_(%"class.boost::shared_array_property_map"* sret %agg.tmp4, %"class.boost::detail::make_property_map_from_arg_pack_gen"* @_ZN5boost6detailL28make_color_map_from_arg_packE, %"class.boost::adjacency_list"* %5, %"struct.boost::parameter::aux::arg_list"* %6)
  %7 = load %"struct.boost::parameter::aux::arg_list"** %arg_pack.addr, align 4
  %8 = bitcast %"struct.boost::parameter::aux::arg_list"* %7 to %"struct.boost::parameter::aux::empty_arg_list"*
  %9 = load %"struct.boost::parameter::keyword.19"** @_ZN5boost5graph8keywords12_GLOBAL__N_112_root_vertexE, align 4
  %10 = load %"class.boost::adjacency_list"** %g.addr, align 4
  invoke void @_ZN5boost6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEEEC1ERKS7_(%"struct.boost::detail::get_default_starting_vertex_t"* %ref.tmp6, %"class.boost::adjacency_list"* %10)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  invoke void @_ZNK5boost9parameter7keywordINS_5graph8keywords3tag11root_vertexEEooINS_6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSESB_NS_9directedSENS_11no_propertyESD_SD_NS_5listSEEEEEEENS0_3aux12lazy_defaultIS5_T_EERKSJ_(%"struct.boost::parameter::aux::lazy_default"* sret %agg.tmp5, %"struct.boost::parameter::keyword.19"* %9, %"struct.boost::detail::get_default_starting_vertex_t"* %ref.tmp6)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont
  %call9 = invoke i32 @_ZNK5boost9parameter3aux14empty_arg_listixINS_5graph8keywords3tag11root_vertexENS_6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSESB_NS_9directedSENS_11no_propertyESD_SD_NS_5listSEEEEEEENS1_10result_of0IT0_E4typeENS1_12lazy_defaultIT_SI_EE(%"struct.boost::parameter::aux::empty_arg_list"* %8, %"struct.boost::parameter::aux::lazy_default"* byval align 4 %agg.tmp5)
          to label %invoke.cont8 unwind label %lpad

invoke.cont8:                                     ; preds = %invoke.cont7
  invoke void @_ZN5boost18depth_first_searchINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEE16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS9_ISA_iNS_16on_finish_vertexEEEEENS_25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapIS4_jEEEEEEvRKT_T0_T1_NS_12graph_traitsISM_E17vertex_descriptorE(%"class.boost::adjacency_list"* %0, %struct.edge_categorizer* byval align 4 %agg.tmp, %"class.boost::shared_array_property_map"* %agg.tmp4, i32 %call9)
          to label %invoke.cont10 unwind label %lpad

invoke.cont10:                                    ; preds = %invoke.cont8
  call void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEED1Ev(%"class.boost::shared_array_property_map"* %agg.tmp4)
  ret void

lpad:                                             ; preds = %invoke.cont8, %invoke.cont7, %invoke.cont, %entry
  %11 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %12 = extractvalue { i8*, i32 } %11, 0
  store i8* %12, i8** %exn.slot
  %13 = extractvalue { i8*, i32 } %11, 1
  store i32 %13, i32* %ehselector.slot
  invoke void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEED1Ev(%"class.boost::shared_array_property_map"* %agg.tmp4)
          to label %invoke.cont11 unwind label %terminate.lpad

invoke.cont11:                                    ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont11
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val12 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val12

terminate.lpad:                                   ; preds = %lpad
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost18depth_first_searchINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEE16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS9_ISA_iNS_16on_finish_vertexEEEEENS_25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapIS4_jEEEEEEvRKT_T0_T1_NS_12graph_traitsISM_E17vertex_descriptorE(%"class.boost::adjacency_list"* %g, %struct.edge_categorizer* byval align 4 %vis, %"class.boost::shared_array_property_map"* %color, i32 %start_vertex) {
entry:
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %start_vertex.addr = alloca i32, align 4
  %ui = alloca %"class.boost::range_detail::integer_iterator", align 4
  %ui_end = alloca %"class.boost::range_detail::integer_iterator", align 4
  %tmp = alloca %"class.boost::tuples::tuple", align 4
  %ref.tmp = alloca %"struct.std::pair.20", align 4
  %u = alloca i32, align 4
  %ref.tmp6 = alloca i32, align 4
  %agg.tmp = alloca %"class.boost::shared_array_property_map", align 4
  %agg.tmp9 = alloca %"struct.boost::detail::nontruth2", align 1
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %tmp11 = alloca %"class.boost::tuples::tuple", align 4
  %ref.tmp12 = alloca %"struct.std::pair.20", align 4
  %u18 = alloca i32, align 4
  %u_color = alloca i32, align 4
  %agg.tmp26 = alloca %"class.boost::shared_array_property_map", align 4
  %agg.tmp27 = alloca %"struct.boost::detail::nontruth2", align 1
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  store i32 %start_vertex, i32* %start_vertex.addr, align 4
  call void @_ZN5boost12range_detail16integer_iteratorIjEC1Ev(%"class.boost::range_detail::integer_iterator"* %ui)
  call void @_ZN5boost12range_detail16integer_iteratorIjEC1Ev(%"class.boost::range_detail::integer_iterator"* %ui_end)
  call void @_ZN5boost6tuples3tieINS_12range_detail16integer_iteratorIjEES4_EENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERS7_RS8_(%"class.boost::tuples::tuple"* sret %tmp, %"class.boost::range_detail::integer_iterator"* %ui, %"class.boost::range_detail::integer_iterator"* %ui_end)
  %0 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = bitcast %"class.boost::adjacency_list"* %0 to %"struct.boost::adj_list_helper"*
  call void @_ZN5boost8verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EEEESt4pairINT_15vertex_iteratorESF_ERKNS_15adj_list_helperISE_T0_EE(%"struct.std::pair.20"* sret %ref.tmp, %"struct.boost::adj_list_helper"* %1)
  %call = call %"class.boost::tuples::tuple"* @_ZN5boost6tuples5tupleIRNS_12range_detail16integer_iteratorIjEES5_NS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EaSIS4_S4_EERS7_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple"* %tmp, %"struct.std::pair.20"* %ref.tmp)
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %2 = bitcast %"class.boost::range_detail::integer_iterator"* %ui to %"class.boost::iterator_facade"*
  %3 = bitcast %"class.boost::range_detail::integer_iterator"* %ui_end to %"class.boost::iterator_facade"*
  %call1 = call zeroext i1 @_ZN5boostneINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiS3_jS4_jiEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS5_12always_bool2ES7_S8_E4typeEE4typeERKNS_15iterator_facadeIS7_T0_T1_T2_T3_EERKNSG_IS8_T5_T6_T7_T8_EE(%"class.boost::iterator_facade"* %2, %"class.boost::iterator_facade"* %3)
  br i1 %call1, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %4 = bitcast %"class.boost::range_detail::integer_iterator"* %ui to %"class.boost::iterator_facade"*
  %call3 = call i32 @_ZNK5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiEdeEv(%"class.boost::iterator_facade"* %4)
  %call4 = call i32 @_ZN5boost13implicit_castIjEET_NS_3mpl8identityIS1_E4typeE(i32 %call3)
  store i32 %call4, i32* %u, align 4
  %5 = bitcast %"class.boost::shared_array_property_map"* %color to %"struct.boost::put_get_helper"*
  %6 = load i32* %u, align 4
  %call5 = call i32 @_ZN5boost12color_traitsINS_18default_color_typeEE5whiteEv()
  store i32 %call5, i32* %ref.tmp6, align 4
  call void @_ZN5boost3putINS_25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEERS2_jS2_EEvRKNS_14put_get_helperIT0_T_EET1_RKT2_(%"struct.boost::put_get_helper"* %5, i32 %6, i32* %ref.tmp6)
  %7 = bitcast %struct.edge_categorizer* %vis to %"class.boost::dfs_visitor"*
  %8 = load i32* %u, align 4
  %9 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE17initialize_vertexIjNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %7, i32 %8, %"class.boost::adjacency_list"* %9)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %10 = bitcast %"class.boost::range_detail::integer_iterator"* %ui to %"class.boost::iterator_facade"*
  %call7 = call %"class.boost::range_detail::integer_iterator"* @_ZN5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiEppEv(%"class.boost::iterator_facade"* %10)
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %11 = load i32* %start_vertex.addr, align 4
  %12 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %call8 = call i32 @_ZN5boost6detail27get_default_starting_vertexINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEEEENS_12graph_traitsIT_E17vertex_descriptorERKS9_(%"class.boost::adjacency_list"* %12)
  %cmp = icmp ne i32 %11, %call8
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %for.end
  %13 = bitcast %struct.edge_categorizer* %vis to %"class.boost::dfs_visitor"*
  %14 = load i32* %start_vertex.addr, align 4
  %15 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE12start_vertexIjNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %13, i32 %14, %"class.boost::adjacency_list"* %15)
  %16 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %17 = load i32* %start_vertex.addr, align 4
  call void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEC1ERKS5_(%"class.boost::shared_array_property_map"* %agg.tmp, %"class.boost::shared_array_property_map"* %color)
  invoke void @_ZN5boost6detail22depth_first_visit_implINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEE16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSA_ISB_iNS_16on_finish_vertexEEEEENS_25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapIS5_jEEEENS0_9nontruth2EEEvRKT_NS_12graph_traitsISO_E17vertex_descriptorERT0_T1_T2_(%"class.boost::adjacency_list"* %16, i32 %17, %struct.edge_categorizer* %vis, %"class.boost::shared_array_property_map"* %agg.tmp)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %if.then
  call void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEED1Ev(%"class.boost::shared_array_property_map"* %agg.tmp)
  br label %if.end

lpad:                                             ; preds = %if.then
  %18 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %19 = extractvalue { i8*, i32 } %18, 0
  store i8* %19, i8** %exn.slot
  %20 = extractvalue { i8*, i32 } %18, 1
  store i32 %20, i32* %ehselector.slot
  invoke void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEED1Ev(%"class.boost::shared_array_property_map"* %agg.tmp)
          to label %invoke.cont10 unwind label %terminate.lpad

invoke.cont10:                                    ; preds = %lpad
  br label %eh.resume

if.end:                                           ; preds = %invoke.cont, %for.end
  call void @_ZN5boost6tuples3tieINS_12range_detail16integer_iteratorIjEES4_EENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERS7_RS8_(%"class.boost::tuples::tuple"* sret %tmp11, %"class.boost::range_detail::integer_iterator"* %ui, %"class.boost::range_detail::integer_iterator"* %ui_end)
  %21 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %22 = bitcast %"class.boost::adjacency_list"* %21 to %"struct.boost::adj_list_helper"*
  call void @_ZN5boost8verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EEEESt4pairINT_15vertex_iteratorESF_ERKNS_15adj_list_helperISE_T0_EE(%"struct.std::pair.20"* sret %ref.tmp12, %"struct.boost::adj_list_helper"* %22)
  %call13 = call %"class.boost::tuples::tuple"* @_ZN5boost6tuples5tupleIRNS_12range_detail16integer_iteratorIjEES5_NS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EaSIS4_S4_EERS7_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple"* %tmp11, %"struct.std::pair.20"* %ref.tmp12)
  br label %for.cond14

for.cond14:                                       ; preds = %for.inc32, %if.end
  %23 = bitcast %"class.boost::range_detail::integer_iterator"* %ui to %"class.boost::iterator_facade"*
  %24 = bitcast %"class.boost::range_detail::integer_iterator"* %ui_end to %"class.boost::iterator_facade"*
  %call15 = call zeroext i1 @_ZN5boostneINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiS3_jS4_jiEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS5_12always_bool2ES7_S8_E4typeEE4typeERKNS_15iterator_facadeIS7_T0_T1_T2_T3_EERKNSG_IS8_T5_T6_T7_T8_EE(%"class.boost::iterator_facade"* %23, %"class.boost::iterator_facade"* %24)
  br i1 %call15, label %for.body16, label %for.end34

for.body16:                                       ; preds = %for.cond14
  %25 = bitcast %"class.boost::range_detail::integer_iterator"* %ui to %"class.boost::iterator_facade"*
  %call19 = call i32 @_ZNK5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiEdeEv(%"class.boost::iterator_facade"* %25)
  %call20 = call i32 @_ZN5boost13implicit_castIjEET_NS_3mpl8identityIS1_E4typeE(i32 %call19)
  store i32 %call20, i32* %u18, align 4
  %26 = bitcast %"class.boost::shared_array_property_map"* %color to %"struct.boost::put_get_helper"*
  %call22 = call i32* @_ZN5boost3getINS_25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEERS2_jEET0_RKNS_14put_get_helperIS8_T_EERKT1_(%"struct.boost::put_get_helper"* %26, i32* %u18)
  %27 = load i32* %call22
  store i32 %27, i32* %u_color, align 4
  %28 = load i32* %u_color, align 4
  %call23 = call i32 @_ZN5boost12color_traitsINS_18default_color_typeEE5whiteEv()
  %cmp24 = icmp eq i32 %28, %call23
  br i1 %cmp24, label %if.then25, label %if.end31

if.then25:                                        ; preds = %for.body16
  %29 = bitcast %struct.edge_categorizer* %vis to %"class.boost::dfs_visitor"*
  %30 = load i32* %u18, align 4
  %31 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE12start_vertexIjNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %29, i32 %30, %"class.boost::adjacency_list"* %31)
  %32 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %33 = load i32* %u18, align 4
  call void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEC1ERKS5_(%"class.boost::shared_array_property_map"* %agg.tmp26, %"class.boost::shared_array_property_map"* %color)
  invoke void @_ZN5boost6detail22depth_first_visit_implINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEE16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSA_ISB_iNS_16on_finish_vertexEEEEENS_25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapIS5_jEEEENS0_9nontruth2EEEvRKT_NS_12graph_traitsISO_E17vertex_descriptorERT0_T1_T2_(%"class.boost::adjacency_list"* %32, i32 %33, %struct.edge_categorizer* %vis, %"class.boost::shared_array_property_map"* %agg.tmp26)
          to label %invoke.cont29 unwind label %lpad28

invoke.cont29:                                    ; preds = %if.then25
  call void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEED1Ev(%"class.boost::shared_array_property_map"* %agg.tmp26)
  br label %if.end31

lpad28:                                           ; preds = %if.then25
  %34 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %35 = extractvalue { i8*, i32 } %34, 0
  store i8* %35, i8** %exn.slot
  %36 = extractvalue { i8*, i32 } %34, 1
  store i32 %36, i32* %ehselector.slot
  invoke void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEED1Ev(%"class.boost::shared_array_property_map"* %agg.tmp26)
          to label %invoke.cont30 unwind label %terminate.lpad

invoke.cont30:                                    ; preds = %lpad28
  br label %eh.resume

if.end31:                                         ; preds = %invoke.cont29, %for.body16
  br label %for.inc32

for.inc32:                                        ; preds = %if.end31
  %37 = bitcast %"class.boost::range_detail::integer_iterator"* %ui to %"class.boost::iterator_facade"*
  %call33 = call %"class.boost::range_detail::integer_iterator"* @_ZN5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiEppEv(%"class.boost::iterator_facade"* %37)
  br label %for.cond14

for.end34:                                        ; preds = %for.cond14
  ret void

eh.resume:                                        ; preds = %invoke.cont30, %invoke.cont10
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val35 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val35

terminate.lpad:                                   ; preds = %lpad28, %lpad
  %38 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr %struct.edge_categorizer* @_ZNK5boost9parameter3aux8arg_listINS1_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSA_ISB_iNS_16on_finish_vertexEEEEEEENS1_14empty_arg_listEEixIKNS_11dfs_visitorINS_12null_visitorEEEEERSI_RKNS1_8default_IS7_T_EE(%"struct.boost::parameter::aux::arg_list"* %this, %"struct.boost::parameter::aux::default_"* %d) align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::arg_list"*, align 4
  %d.addr = alloca %"struct.boost::parameter::aux::default_"*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  store %"struct.boost::parameter::aux::arg_list"* %this, %"struct.boost::parameter::aux::arg_list"** %this.addr, align 4
  store %"struct.boost::parameter::aux::default_"* %d, %"struct.boost::parameter::aux::default_"** %d.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::arg_list"** %this.addr
  %0 = load %"struct.boost::parameter::aux::default_"** %d.addr, align 4
  %1 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  %call = call %struct.edge_categorizer* @_ZNK5boost9parameter3aux8arg_listINS1_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSA_ISB_iNS_16on_finish_vertexEEEEEEENS1_14empty_arg_listEE11get_defaultINS1_8default_IS7_KNS_11dfs_visitorINS_12null_visitorEEEEEEERSI_RKT_N4mpl_5bool_ILb0EEE(%"struct.boost::parameter::aux::arg_list"* %this1, %"struct.boost::parameter::aux::default_"* %0)
  ret %struct.edge_categorizer* %call
}

define linkonce_odr void @_ZNK5boost9parameter7keywordINS_5graph8keywords3tag7visitorEEorINS_11dfs_visitorINS_12null_visitorEEEEENS0_3aux8default_IS5_KT_EERSE_(%"struct.boost::parameter::aux::default_"* noalias sret %agg.result, %"struct.boost::parameter::keyword"* %this, %"class.boost::dfs_visitor.17"* %default_) align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::keyword"*, align 4
  %default_.addr = alloca %"class.boost::dfs_visitor.17"*, align 4
  store %"struct.boost::parameter::keyword"* %this, %"struct.boost::parameter::keyword"** %this.addr, align 4
  store %"class.boost::dfs_visitor.17"* %default_, %"class.boost::dfs_visitor.17"** %default_.addr, align 4
  %this1 = load %"struct.boost::parameter::keyword"** %this.addr
  %0 = load %"class.boost::dfs_visitor.17"** %default_.addr, align 4
  call void @_ZN5boost9parameter3aux8default_INS_5graph8keywords3tag7visitorEKNS_11dfs_visitorINS_12null_visitorEEEEC1ERSA_(%"struct.boost::parameter::aux::default_"* %agg.result, %"class.boost::dfs_visitor.17"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost16make_dfs_visitorINS_12null_visitorEEENS_11dfs_visitorIT_EES3_(%"class.boost::dfs_visitor.17"* noalias sret %agg.result) {
entry:
  %vis = alloca %"struct.boost::null_visitor", align 1
  %agg.tmp = alloca %"struct.boost::null_visitor", align 1
  call void @_ZN5boost11dfs_visitorINS_12null_visitorEEC1ES1_(%"class.boost::dfs_visitor.17"* %agg.result)
  ret void
}

define linkonce_odr void @_ZNK5boost6detail35make_property_map_from_arg_pack_genINS_5graph8keywords3tag9color_mapENS_18default_color_typeEEclINS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEENS_9parameter3aux8arg_listINSG_15tagged_argumentINS4_7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSM_ISN_iNS_16on_finish_vertexEEEEEEENSG_14empty_arg_listEEEEENS0_9map_makerIT_T0_S5_S6_E8map_typeERKSZ_RKS10_(%"class.boost::shared_array_property_map"* noalias sret %agg.result, %"class.boost::detail::make_property_map_from_arg_pack_gen"* %this, %"class.boost::adjacency_list"* %g, %"struct.boost::parameter::aux::arg_list"* %ap) align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::make_property_map_from_arg_pack_gen"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %ap.addr = alloca %"struct.boost::parameter::aux::arg_list"*, align 4
  store %"class.boost::detail::make_property_map_from_arg_pack_gen"* %this, %"class.boost::detail::make_property_map_from_arg_pack_gen"** %this.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  store %"struct.boost::parameter::aux::arg_list"* %ap, %"struct.boost::parameter::aux::arg_list"** %ap.addr, align 4
  %this1 = load %"class.boost::detail::make_property_map_from_arg_pack_gen"** %this.addr
  %0 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = load %"struct.boost::parameter::aux::arg_list"** %ap.addr, align 4
  %default_value = getelementptr inbounds %"class.boost::detail::make_property_map_from_arg_pack_gen"* %this1, i32 0, i32 0
  %2 = load i32* %default_value, align 4
  call void @_ZN5boost6detail9map_makerINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEENS_9parameter3aux8arg_listINS9_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSI_ISJ_iNS_16on_finish_vertexEEEEEEENS9_14empty_arg_listEEENSE_9color_mapENS_18default_color_typeEE8make_mapERKS7_RKST_SV_(%"class.boost::shared_array_property_map"* sret %agg.result, %"class.boost::adjacency_list"* %0, %"struct.boost::parameter::aux::arg_list"* %1, i32 %2)
  ret void
}

define linkonce_odr i32 @_ZNK5boost9parameter3aux14empty_arg_listixINS_5graph8keywords3tag11root_vertexENS_6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSESB_NS_9directedSENS_11no_propertyESD_SD_NS_5listSEEEEEEENS1_10result_of0IT0_E4typeENS1_12lazy_defaultIT_SI_EE(%"struct.boost::parameter::aux::empty_arg_list"* %this, %"struct.boost::parameter::aux::lazy_default"* byval align 4 %x) align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::empty_arg_list"*, align 4
  store %"struct.boost::parameter::aux::empty_arg_list"* %this, %"struct.boost::parameter::aux::empty_arg_list"** %this.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::empty_arg_list"** %this.addr
  %compute_default = getelementptr inbounds %"struct.boost::parameter::aux::lazy_default"* %x, i32 0, i32 0
  %ref = load %"struct.boost::detail::get_default_starting_vertex_t"** %compute_default, align 4
  %call = call i32 @_ZNK5boost6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEEEclEv(%"struct.boost::detail::get_default_starting_vertex_t"* %ref)
  ret i32 %call
}

define linkonce_odr void @_ZNK5boost9parameter7keywordINS_5graph8keywords3tag11root_vertexEEooINS_6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSESB_NS_9directedSENS_11no_propertyESD_SD_NS_5listSEEEEEEENS0_3aux12lazy_defaultIS5_T_EERKSJ_(%"struct.boost::parameter::aux::lazy_default"* noalias sret %agg.result, %"struct.boost::parameter::keyword.19"* %this, %"struct.boost::detail::get_default_starting_vertex_t"* %default_) align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::keyword.19"*, align 4
  %default_.addr = alloca %"struct.boost::detail::get_default_starting_vertex_t"*, align 4
  store %"struct.boost::parameter::keyword.19"* %this, %"struct.boost::parameter::keyword.19"** %this.addr, align 4
  store %"struct.boost::detail::get_default_starting_vertex_t"* %default_, %"struct.boost::detail::get_default_starting_vertex_t"** %default_.addr, align 4
  %this1 = load %"struct.boost::parameter::keyword.19"** %this.addr
  %0 = load %"struct.boost::detail::get_default_starting_vertex_t"** %default_.addr, align 4
  call void @_ZN5boost9parameter3aux12lazy_defaultINS_5graph8keywords3tag11root_vertexENS_6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEEC1ERKSF_(%"struct.boost::parameter::aux::lazy_default"* %agg.result, %"struct.boost::detail::get_default_starting_vertex_t"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEEEC1ERKS7_(%"struct.boost::detail::get_default_starting_vertex_t"* %this, %"class.boost::adjacency_list"* %g) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::get_default_starting_vertex_t"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  store %"struct.boost::detail::get_default_starting_vertex_t"* %this, %"struct.boost::detail::get_default_starting_vertex_t"** %this.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %this1 = load %"struct.boost::detail::get_default_starting_vertex_t"** %this.addr
  %0 = load %"class.boost::adjacency_list"** %g.addr
  call void @_ZN5boost6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEEEC2ERKS7_(%"struct.boost::detail::get_default_starting_vertex_t"* %this1, %"class.boost::adjacency_list"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEED1Ev(%"class.boost::shared_array_property_map"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array_property_map"*, align 4
  store %"class.boost::shared_array_property_map"* %this, %"class.boost::shared_array_property_map"** %this.addr, align 4
  %this1 = load %"class.boost::shared_array_property_map"** %this.addr
  call void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEED2Ev(%"class.boost::shared_array_property_map"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEED2Ev(%"class.boost::shared_array_property_map"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array_property_map"*, align 4
  store %"class.boost::shared_array_property_map"* %this, %"class.boost::shared_array_property_map"** %this.addr, align 4
  %this1 = load %"class.boost::shared_array_property_map"** %this.addr
  %data = getelementptr inbounds %"class.boost::shared_array_property_map"* %this1, i32 0, i32 0
  call void @_ZN5boost12shared_arrayINS_18default_color_typeEED1Ev(%"class.boost::shared_array"* %data)
  ret void
}

define linkonce_odr void @_ZN5boost12shared_arrayINS_18default_color_typeEED1Ev(%"class.boost::shared_array"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array"*, align 4
  store %"class.boost::shared_array"* %this, %"class.boost::shared_array"** %this.addr, align 4
  %this1 = load %"class.boost::shared_array"** %this.addr
  call void @_ZN5boost12shared_arrayINS_18default_color_typeEED2Ev(%"class.boost::shared_array"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost12shared_arrayINS_18default_color_typeEED2Ev(%"class.boost::shared_array"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array"*, align 4
  store %"class.boost::shared_array"* %this, %"class.boost::shared_array"** %this.addr, align 4
  %this1 = load %"class.boost::shared_array"** %this.addr
  %pn = getelementptr inbounds %"class.boost::shared_array"* %this1, i32 0, i32 1
  call void @_ZN5boost6detail12shared_countD1Ev(%"class.boost::detail::shared_count"* %pn)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12shared_countD1Ev(%"class.boost::detail::shared_count"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::shared_count"*, align 4
  store %"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"** %this.addr, align 4
  %this1 = load %"class.boost::detail::shared_count"** %this.addr
  call void @_ZN5boost6detail12shared_countD2Ev(%"class.boost::detail::shared_count"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12shared_countD2Ev(%"class.boost::detail::shared_count"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::shared_count"*, align 4
  store %"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"** %this.addr, align 4
  %this1 = load %"class.boost::detail::shared_count"** %this.addr
  %pi_ = getelementptr inbounds %"class.boost::detail::shared_count"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::sp_counted_base"** %pi_, align 4
  %cmp = icmp ne %"class.boost::detail::sp_counted_base"* %0, null
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %pi_2 = getelementptr inbounds %"class.boost::detail::shared_count"* %this1, i32 0, i32 0
  %1 = load %"class.boost::detail::sp_counted_base"** %pi_2, align 4
  call void @_ZN5boost6detail15sp_counted_base7releaseEv(%"class.boost::detail::sp_counted_base"* %1)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_base7releaseEv(%"class.boost::detail::sp_counted_base"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  %use_count_ = getelementptr inbounds %"class.boost::detail::sp_counted_base"* %this1, i32 0, i32 1
  %call = call i32 @_ZN5boost6detail23atomic_exchange_and_addEPii(i32* %use_count_, i32 -1)
  %cmp = icmp eq i32 %call, 1
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %0 = bitcast %"class.boost::detail::sp_counted_base"* %this1 to void (%"class.boost::detail::sp_counted_base"*)***
  %vtable = load void (%"class.boost::detail::sp_counted_base"*)*** %0
  %vfn = getelementptr inbounds void (%"class.boost::detail::sp_counted_base"*)** %vtable, i64 2
  %1 = load void (%"class.boost::detail::sp_counted_base"*)** %vfn
  call void %1(%"class.boost::detail::sp_counted_base"* %this1)
  call void @_ZN5boost6detail15sp_counted_base12weak_releaseEv(%"class.boost::detail::sp_counted_base"* %this1)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr i32 @_ZN5boost6detail23atomic_exchange_and_addEPii(i32* %pw, i32 %dv) nounwind inlinehint {
entry:
  %pw.addr = alloca i32*, align 4
  %dv.addr = alloca i32, align 4
  %r = alloca i32, align 4
  store i32* %pw, i32** %pw.addr, align 4
  store i32 %dv, i32* %dv.addr, align 4
  %0 = load i32** %pw.addr, align 4
  %1 = load i32** %pw.addr, align 4
  %2 = load i32* %dv.addr, align 4
  %3 = call i32 asm sideeffect "lock\0A\09xadd $1, $0", "=*m,=r,*m,1,~{memory},~{cc},~{dirflag},~{fpsr},~{flags}"(i32* %0, i32* %1, i32 %2) nounwind, !srcloc !0
  store i32 %3, i32* %r, align 4
  %4 = load i32* %r, align 4
  ret i32 %4
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_base12weak_releaseEv(%"class.boost::detail::sp_counted_base"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  %weak_count_ = getelementptr inbounds %"class.boost::detail::sp_counted_base"* %this1, i32 0, i32 2
  %call = call i32 @_ZN5boost6detail23atomic_exchange_and_addEPii(i32* %weak_count_, i32 -1)
  %cmp = icmp eq i32 %call, 1
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %0 = bitcast %"class.boost::detail::sp_counted_base"* %this1 to void (%"class.boost::detail::sp_counted_base"*)***
  %vtable = load void (%"class.boost::detail::sp_counted_base"*)*** %0
  %vfn = getelementptr inbounds void (%"class.boost::detail::sp_counted_base"*)** %vtable, i64 3
  %1 = load void (%"class.boost::detail::sp_counted_base"*)** %vfn
  call void %1(%"class.boost::detail::sp_counted_base"* %this1)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr void @_ZN5boost6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEEEC2ERKS7_(%"struct.boost::detail::get_default_starting_vertex_t"* %this, %"class.boost::adjacency_list"* %g) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::get_default_starting_vertex_t"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  store %"struct.boost::detail::get_default_starting_vertex_t"* %this, %"struct.boost::detail::get_default_starting_vertex_t"** %this.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %this1 = load %"struct.boost::detail::get_default_starting_vertex_t"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::detail::get_default_starting_vertex_t"* %this1, i32 0, i32 0
  %1 = load %"class.boost::adjacency_list"** %g.addr, align 4
  store %"class.boost::adjacency_list"* %1, %"class.boost::adjacency_list"** %0, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux12lazy_defaultINS_5graph8keywords3tag11root_vertexENS_6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEEC1ERKSF_(%"struct.boost::parameter::aux::lazy_default"* %this, %"struct.boost::detail::get_default_starting_vertex_t"* %x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::lazy_default"*, align 4
  %x.addr = alloca %"struct.boost::detail::get_default_starting_vertex_t"*, align 4
  store %"struct.boost::parameter::aux::lazy_default"* %this, %"struct.boost::parameter::aux::lazy_default"** %this.addr, align 4
  store %"struct.boost::detail::get_default_starting_vertex_t"* %x, %"struct.boost::detail::get_default_starting_vertex_t"** %x.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::lazy_default"** %this.addr
  %0 = load %"struct.boost::detail::get_default_starting_vertex_t"** %x.addr
  call void @_ZN5boost9parameter3aux12lazy_defaultINS_5graph8keywords3tag11root_vertexENS_6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEEC2ERKSF_(%"struct.boost::parameter::aux::lazy_default"* %this1, %"struct.boost::detail::get_default_starting_vertex_t"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux12lazy_defaultINS_5graph8keywords3tag11root_vertexENS_6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEEC2ERKSF_(%"struct.boost::parameter::aux::lazy_default"* %this, %"struct.boost::detail::get_default_starting_vertex_t"* %x) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::lazy_default"*, align 4
  %x.addr = alloca %"struct.boost::detail::get_default_starting_vertex_t"*, align 4
  store %"struct.boost::parameter::aux::lazy_default"* %this, %"struct.boost::parameter::aux::lazy_default"** %this.addr, align 4
  store %"struct.boost::detail::get_default_starting_vertex_t"* %x, %"struct.boost::detail::get_default_starting_vertex_t"** %x.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::lazy_default"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::parameter::aux::lazy_default"* %this1, i32 0, i32 0
  %1 = load %"struct.boost::detail::get_default_starting_vertex_t"** %x.addr, align 4
  store %"struct.boost::detail::get_default_starting_vertex_t"* %1, %"struct.boost::detail::get_default_starting_vertex_t"** %0, align 4
  ret void
}

define linkonce_odr i32 @_ZNK5boost6detail29get_default_starting_vertex_tINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEEEclEv(%"struct.boost::detail::get_default_starting_vertex_t"* %this) align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::get_default_starting_vertex_t"*, align 4
  store %"struct.boost::detail::get_default_starting_vertex_t"* %this, %"struct.boost::detail::get_default_starting_vertex_t"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::get_default_starting_vertex_t"** %this.addr
  %g = getelementptr inbounds %"struct.boost::detail::get_default_starting_vertex_t"* %this1, i32 0, i32 0
  %ref = load %"class.boost::adjacency_list"** %g, align 4
  %call = call i32 @_ZN5boost6detail27get_default_starting_vertexINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEEEENS_12graph_traitsIT_E17vertex_descriptorERKS9_(%"class.boost::adjacency_list"* %ref)
  ret i32 %call
}

define linkonce_odr i32 @_ZN5boost6detail27get_default_starting_vertexINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEEEENS_12graph_traitsIT_E17vertex_descriptorERKS9_(%"class.boost::adjacency_list"* %g) {
entry:
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %iters = alloca %"struct.std::pair.20", align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %0 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = bitcast %"class.boost::adjacency_list"* %0 to %"struct.boost::adj_list_helper"*
  call void @_ZN5boost8verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EEEESt4pairINT_15vertex_iteratorESF_ERKNS_15adj_list_helperISE_T0_EE(%"struct.std::pair.20"* sret %iters, %"struct.boost::adj_list_helper"* %1)
  %first = getelementptr inbounds %"struct.std::pair.20"* %iters, i32 0, i32 0
  %2 = bitcast %"class.boost::range_detail::integer_iterator"* %first to %"class.boost::iterator_facade"*
  %second = getelementptr inbounds %"struct.std::pair.20"* %iters, i32 0, i32 1
  %3 = bitcast %"class.boost::range_detail::integer_iterator"* %second to %"class.boost::iterator_facade"*
  %call = call zeroext i1 @_ZN5boosteqINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiS3_jS4_jiEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS5_12always_bool2ES7_S8_E4typeEE4typeERKNS_15iterator_facadeIS7_T0_T1_T2_T3_EERKNSG_IS8_T5_T6_T7_T8_EE(%"class.boost::iterator_facade"* %2, %"class.boost::iterator_facade"* %3)
  br i1 %call, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  %call1 = call i32 @_ZN5boost12graph_traitsINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEEE11null_vertexEv()
  br label %cond.end

cond.false:                                       ; preds = %entry
  %first2 = getelementptr inbounds %"struct.std::pair.20"* %iters, i32 0, i32 0
  %4 = bitcast %"class.boost::range_detail::integer_iterator"* %first2 to %"class.boost::iterator_facade"*
  %call3 = call i32 @_ZNK5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiEdeEv(%"class.boost::iterator_facade"* %4)
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi i32 [ %call1, %cond.true ], [ %call3, %cond.false ]
  ret i32 %cond
}

define linkonce_odr void @_ZN5boost8verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EEEESt4pairINT_15vertex_iteratorESF_ERKNS_15adj_list_helperISE_T0_EE(%"struct.std::pair.20"* noalias sret %agg.result, %"struct.boost::adj_list_helper"* %g_) inlinehint {
entry:
  %g_.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %cg = alloca %"class.boost::adjacency_list"*, align 4
  %g = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"class.boost::range_detail::integer_iterator", align 4
  %tmp = alloca %"class.boost::integer_range", align 4
  %agg.tmp1 = alloca %"class.boost::range_detail::integer_iterator", align 4
  %tmp2 = alloca %"class.boost::integer_range", align 4
  store %"struct.boost::adj_list_helper"* %g_, %"struct.boost::adj_list_helper"** %g_.addr, align 4
  %0 = load %"struct.boost::adj_list_helper"** %g_.addr, align 4
  %1 = bitcast %"struct.boost::adj_list_helper"* %0 to %"class.boost::adjacency_list"*
  store %"class.boost::adjacency_list"* %1, %"class.boost::adjacency_list"** %cg, align 4
  %2 = load %"class.boost::adjacency_list"** %cg, align 4
  store %"class.boost::adjacency_list"* %2, %"class.boost::adjacency_list"** %g, align 4
  %3 = load %"class.boost::adjacency_list"** %g, align 4
  %4 = bitcast %"class.boost::adjacency_list"* %3 to %"class.boost::vec_adj_list_impl"*
  call void @_ZNK5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEE10vertex_setEv(%"class.boost::integer_range"* sret %tmp, %"class.boost::vec_adj_list_impl"* %4)
  %5 = bitcast %"class.boost::integer_range"* %tmp to %"class.boost::iterator_range"*
  call void @_ZNK5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEE5beginEv(%"class.boost::range_detail::integer_iterator"* sret %agg.tmp, %"class.boost::iterator_range"* %5)
  %6 = load %"class.boost::adjacency_list"** %g, align 4
  %7 = bitcast %"class.boost::adjacency_list"* %6 to %"class.boost::vec_adj_list_impl"*
  call void @_ZNK5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEE10vertex_setEv(%"class.boost::integer_range"* sret %tmp2, %"class.boost::vec_adj_list_impl"* %7)
  %8 = bitcast %"class.boost::integer_range"* %tmp2 to %"class.boost::iterator_range"*
  call void @_ZNK5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEE3endEv(%"class.boost::range_detail::integer_iterator"* sret %agg.tmp1, %"class.boost::iterator_range"* %8)
  call void @_ZSt9make_pairIN5boost12range_detail16integer_iteratorIjEES3_ESt4pairIT_T0_ES5_S6_(%"struct.std::pair.20"* sret %agg.result, %"class.boost::range_detail::integer_iterator"* byval align 4 %agg.tmp, %"class.boost::range_detail::integer_iterator"* byval align 4 %agg.tmp1)
  ret void
}

define linkonce_odr zeroext i1 @_ZN5boosteqINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiS3_jS4_jiEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS5_12always_bool2ES7_S8_E4typeEE4typeERKNS_15iterator_facadeIS7_T0_T1_T2_T3_EERKNSG_IS8_T5_T6_T7_T8_EE(%"class.boost::iterator_facade"* %lhs, %"class.boost::iterator_facade"* %rhs) inlinehint {
entry:
  %lhs.addr = alloca %"class.boost::iterator_facade"*, align 4
  %rhs.addr = alloca %"class.boost::iterator_facade"*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::is_convertible", align 1
  store %"class.boost::iterator_facade"* %lhs, %"class.boost::iterator_facade"** %lhs.addr, align 4
  store %"class.boost::iterator_facade"* %rhs, %"class.boost::iterator_facade"** %rhs.addr, align 4
  %0 = load %"class.boost::iterator_facade"** %lhs.addr, align 4
  %1 = bitcast %"class.boost::iterator_facade"* %0 to %"class.boost::range_detail::integer_iterator"*
  %2 = load %"class.boost::iterator_facade"** %rhs.addr, align 4
  %3 = bitcast %"class.boost::iterator_facade"* %2 to %"class.boost::range_detail::integer_iterator"*
  %4 = bitcast %"struct.boost::is_convertible"* %ref.tmp to %"struct.mpl_::bool_"*
  %call = call zeroext i1 @_ZN5boost20iterator_core_access5equalINS_12range_detail16integer_iteratorIjEES4_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE(%"class.boost::range_detail::integer_iterator"* %1, %"class.boost::range_detail::integer_iterator"* %3)
  ret i1 %call
}

define linkonce_odr i32 @_ZN5boost12graph_traitsINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEEE11null_vertexEv() inlinehint align 2 {
entry:
  %call = call i32 @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEE11null_vertexEv()
  ret i32 %call
}

define linkonce_odr i32 @_ZNK5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiEdeEv(%"class.boost::iterator_facade"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade"*, align 4
  store %"class.boost::iterator_facade"* %this, %"class.boost::iterator_facade"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade"** %this.addr
  %call = call %"class.boost::range_detail::integer_iterator"* @_ZNK5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiE7derivedEv(%"class.boost::iterator_facade"* %this1)
  %call2 = call i32 @_ZN5boost20iterator_core_access11dereferenceINS_12range_detail16integer_iteratorIjEEEENT_9referenceERKS5_(%"class.boost::range_detail::integer_iterator"* %call)
  ret i32 %call2
}

define linkonce_odr i32 @_ZN5boost20iterator_core_access11dereferenceINS_12range_detail16integer_iteratorIjEEEENT_9referenceERKS5_(%"class.boost::range_detail::integer_iterator"* %f) align 2 {
entry:
  %f.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %f, %"class.boost::range_detail::integer_iterator"** %f.addr, align 4
  %0 = load %"class.boost::range_detail::integer_iterator"** %f.addr, align 4
  %call = call i32 @_ZNK5boost12range_detail16integer_iteratorIjE11dereferenceEv(%"class.boost::range_detail::integer_iterator"* %0)
  ret i32 %call
}

define linkonce_odr %"class.boost::range_detail::integer_iterator"* @_ZNK5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiE7derivedEv(%"class.boost::iterator_facade"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade"*, align 4
  store %"class.boost::iterator_facade"* %this, %"class.boost::iterator_facade"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade"** %this.addr
  %0 = bitcast %"class.boost::iterator_facade"* %this1 to %"class.boost::range_detail::integer_iterator"*
  ret %"class.boost::range_detail::integer_iterator"* %0
}

define linkonce_odr i32 @_ZNK5boost12range_detail16integer_iteratorIjE11dereferenceEv(%"class.boost::range_detail::integer_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %m_value = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %this1, i32 0, i32 0
  %0 = load i32* %m_value, align 4
  ret i32 %0
}

define linkonce_odr i32 @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEE11null_vertexEv() nounwind align 2 {
entry:
  %call = call i32 @_ZNSt14numeric_limitsIjE3maxEv() nounwind
  ret i32 %call
}

define linkonce_odr i32 @_ZNSt14numeric_limitsIjE3maxEv() nounwind align 2 {
entry:
  ret i32 -1
}

define linkonce_odr zeroext i1 @_ZN5boost20iterator_core_access5equalINS_12range_detail16integer_iteratorIjEES4_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE(%"class.boost::range_detail::integer_iterator"* %f1, %"class.boost::range_detail::integer_iterator"* %f2) align 2 {
entry:
  %f1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %f2.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"class.boost::range_detail::integer_iterator"* %f1, %"class.boost::range_detail::integer_iterator"** %f1.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %f2, %"class.boost::range_detail::integer_iterator"** %f2.addr, align 4
  %1 = load %"class.boost::range_detail::integer_iterator"** %f1.addr, align 4
  %2 = load %"class.boost::range_detail::integer_iterator"** %f2.addr, align 4
  %call = call zeroext i1 @_ZNK5boost12range_detail16integer_iteratorIjE5equalERKS2_(%"class.boost::range_detail::integer_iterator"* %1, %"class.boost::range_detail::integer_iterator"* %2)
  ret i1 %call
}

define linkonce_odr zeroext i1 @_ZNK5boost12range_detail16integer_iteratorIjE5equalERKS2_(%"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"* %other) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %other.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %other, %"class.boost::range_detail::integer_iterator"** %other.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %m_value = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %this1, i32 0, i32 0
  %0 = load i32* %m_value, align 4
  %1 = load %"class.boost::range_detail::integer_iterator"** %other.addr, align 4
  %m_value2 = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %1, i32 0, i32 0
  %2 = load i32* %m_value2, align 4
  %cmp = icmp eq i32 %0, %2
  ret i1 %cmp
}

define linkonce_odr void @_ZSt9make_pairIN5boost12range_detail16integer_iteratorIjEES3_ESt4pairIT_T0_ES5_S6_(%"struct.std::pair.20"* noalias sret %agg.result, %"class.boost::range_detail::integer_iterator"* byval align 4 %__x, %"class.boost::range_detail::integer_iterator"* byval align 4 %__y) inlinehint {
entry:
  call void @_ZNSt4pairIN5boost12range_detail16integer_iteratorIjEES3_EC1ERKS3_S6_(%"struct.std::pair.20"* %agg.result, %"class.boost::range_detail::integer_iterator"* %__x, %"class.boost::range_detail::integer_iterator"* %__y)
  ret void
}

define linkonce_odr void @_ZNK5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEE10vertex_setEv(%"class.boost::integer_range"* noalias sret %agg.result, %"class.boost::vec_adj_list_impl"* %this) inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::vec_adj_list_impl"*, align 4
  store %"class.boost::vec_adj_list_impl"* %this, %"class.boost::vec_adj_list_impl"** %this.addr, align 4
  %this1 = load %"class.boost::vec_adj_list_impl"** %this.addr
  %m_vertices = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 1
  %call = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE4sizeEv(%"class.std::vector"* %m_vertices)
  call void @_ZN5boost13integer_rangeIjEC1Ejj(%"class.boost::integer_range"* %agg.result, i32 0, i32 %call)
  ret void
}

define linkonce_odr void @_ZNK5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEE5beginEv(%"class.boost::range_detail::integer_iterator"* noalias sret %agg.result, %"class.boost::iterator_range"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_range"*, align 4
  store %"class.boost::iterator_range"* %this, %"class.boost::iterator_range"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_range"** %this.addr
  %m_Begin = getelementptr inbounds %"class.boost::iterator_range"* %this1, i32 0, i32 0
  %0 = bitcast %"class.boost::range_detail::integer_iterator"* %agg.result to i8*
  %1 = bitcast %"class.boost::range_detail::integer_iterator"* %m_Begin to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZNK5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEE3endEv(%"class.boost::range_detail::integer_iterator"* noalias sret %agg.result, %"class.boost::iterator_range"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_range"*, align 4
  store %"class.boost::iterator_range"* %this, %"class.boost::iterator_range"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_range"** %this.addr
  %m_End = getelementptr inbounds %"class.boost::iterator_range"* %this1, i32 0, i32 1
  %0 = bitcast %"class.boost::range_detail::integer_iterator"* %agg.result to i8*
  %1 = bitcast %"class.boost::range_detail::integer_iterator"* %m_End to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZN5boost13integer_rangeIjEC1Ejj(%"class.boost::integer_range"* %this, i32 %first, i32 %last) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::integer_range"*, align 4
  %first.addr = alloca i32, align 4
  %last.addr = alloca i32, align 4
  store %"class.boost::integer_range"* %this, %"class.boost::integer_range"** %this.addr, align 4
  store i32 %first, i32* %first.addr, align 4
  store i32 %last, i32* %last.addr, align 4
  %this1 = load %"class.boost::integer_range"** %this.addr
  %0 = load i32* %first.addr, align 4
  %1 = load i32* %last.addr, align 4
  call void @_ZN5boost13integer_rangeIjEC2Ejj(%"class.boost::integer_range"* %this1, i32 %0, i32 %1)
  ret void
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE4sizeEv(%"class.std::vector"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %2, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %sub.ptr.lhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 16
  ret i32 %sub.ptr.div
}

define linkonce_odr void @_ZN5boost13integer_rangeIjEC2Ejj(%"class.boost::integer_range"* %this, i32 %first, i32 %last) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::integer_range"*, align 4
  %first.addr = alloca i32, align 4
  %last.addr = alloca i32, align 4
  %agg.tmp = alloca %"class.boost::range_detail::integer_iterator", align 4
  %agg.tmp2 = alloca %"class.boost::range_detail::integer_iterator", align 4
  store %"class.boost::integer_range"* %this, %"class.boost::integer_range"** %this.addr, align 4
  store i32 %first, i32* %first.addr, align 4
  store i32 %last, i32* %last.addr, align 4
  %this1 = load %"class.boost::integer_range"** %this.addr
  %0 = bitcast %"class.boost::integer_range"* %this1 to %"class.boost::iterator_range"*
  %1 = load i32* %first.addr, align 4
  call void @_ZN5boost12range_detail16integer_iteratorIjEC1Ej(%"class.boost::range_detail::integer_iterator"* %agg.tmp, i32 %1)
  %2 = load i32* %last.addr, align 4
  call void @_ZN5boost12range_detail16integer_iteratorIjEC1Ej(%"class.boost::range_detail::integer_iterator"* %agg.tmp2, i32 %2)
  call void @_ZN5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEEC2IS3_EET_S6_(%"class.boost::iterator_range"* %0, %"class.boost::range_detail::integer_iterator"* byval align 4 %agg.tmp, %"class.boost::range_detail::integer_iterator"* byval align 4 %agg.tmp2)
  ret void
}

define linkonce_odr void @_ZN5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEEC2IS3_EET_S6_(%"class.boost::iterator_range"* %this, %"class.boost::range_detail::integer_iterator"* byval align 4 %Begin, %"class.boost::range_detail::integer_iterator"* byval align 4 %End) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_range"*, align 4
  store %"class.boost::iterator_range"* %this, %"class.boost::iterator_range"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_range"** %this.addr
  %m_Begin = getelementptr inbounds %"class.boost::iterator_range"* %this1, i32 0, i32 0
  %0 = bitcast %"class.boost::range_detail::integer_iterator"* %m_Begin to i8*
  %1 = bitcast %"class.boost::range_detail::integer_iterator"* %Begin to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %m_End = getelementptr inbounds %"class.boost::iterator_range"* %this1, i32 0, i32 1
  %2 = bitcast %"class.boost::range_detail::integer_iterator"* %m_End to i8*
  %3 = bitcast %"class.boost::range_detail::integer_iterator"* %End to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZN5boost12range_detail16integer_iteratorIjEC1Ej(%"class.boost::range_detail::integer_iterator"* %this, i32 %x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %x.addr = alloca i32, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %0 = load i32* %x.addr, align 4
  call void @_ZN5boost12range_detail16integer_iteratorIjEC2Ej(%"class.boost::range_detail::integer_iterator"* %this1, i32 %0)
  ret void
}

define linkonce_odr void @_ZN5boost12range_detail16integer_iteratorIjEC2Ej(%"class.boost::range_detail::integer_iterator"* %this, i32 %x) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %x.addr = alloca i32, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %0 = bitcast %"class.boost::range_detail::integer_iterator"* %this1 to %"class.boost::iterator_facade"*
  %m_value = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %this1, i32 0, i32 0
  %1 = load i32* %x.addr, align 4
  store i32 %1, i32* %m_value, align 4
  ret void
}

define linkonce_odr void @_ZNSt4pairIN5boost12range_detail16integer_iteratorIjEES3_EC1ERKS3_S6_(%"struct.std::pair.20"* %this, %"class.boost::range_detail::integer_iterator"* %__a, %"class.boost::range_detail::integer_iterator"* %__b) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.20"*, align 4
  %__a.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %__b.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"struct.std::pair.20"* %this, %"struct.std::pair.20"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %__a, %"class.boost::range_detail::integer_iterator"** %__a.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %__b, %"class.boost::range_detail::integer_iterator"** %__b.addr, align 4
  %this1 = load %"struct.std::pair.20"** %this.addr
  %0 = load %"class.boost::range_detail::integer_iterator"** %__a.addr
  %1 = load %"class.boost::range_detail::integer_iterator"** %__b.addr
  call void @_ZNSt4pairIN5boost12range_detail16integer_iteratorIjEES3_EC2ERKS3_S6_(%"struct.std::pair.20"* %this1, %"class.boost::range_detail::integer_iterator"* %0, %"class.boost::range_detail::integer_iterator"* %1)
  ret void
}

define linkonce_odr void @_ZNSt4pairIN5boost12range_detail16integer_iteratorIjEES3_EC2ERKS3_S6_(%"struct.std::pair.20"* %this, %"class.boost::range_detail::integer_iterator"* %__a, %"class.boost::range_detail::integer_iterator"* %__b) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.20"*, align 4
  %__a.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %__b.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"struct.std::pair.20"* %this, %"struct.std::pair.20"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %__a, %"class.boost::range_detail::integer_iterator"** %__a.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %__b, %"class.boost::range_detail::integer_iterator"** %__b.addr, align 4
  %this1 = load %"struct.std::pair.20"** %this.addr
  %first = getelementptr inbounds %"struct.std::pair.20"* %this1, i32 0, i32 0
  %0 = load %"class.boost::range_detail::integer_iterator"** %__a.addr, align 4
  %1 = bitcast %"class.boost::range_detail::integer_iterator"* %first to i8*
  %2 = bitcast %"class.boost::range_detail::integer_iterator"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  %second = getelementptr inbounds %"struct.std::pair.20"* %this1, i32 0, i32 1
  %3 = load %"class.boost::range_detail::integer_iterator"** %__b.addr, align 4
  %4 = bitcast %"class.boost::range_detail::integer_iterator"* %second to i8*
  %5 = bitcast %"class.boost::range_detail::integer_iterator"* %3 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZN5boost6detail9map_makerINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEENS_9parameter3aux8arg_listINS9_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSI_ISJ_iNS_16on_finish_vertexEEEEEEENS9_14empty_arg_listEEENSE_9color_mapENS_18default_color_typeEE8make_mapERKS7_RKST_SV_(%"class.boost::shared_array_property_map"* noalias sret %agg.result, %"class.boost::adjacency_list"* %g, %"struct.boost::parameter::aux::arg_list"* %ap, i32 %default_value) align 2 {
entry:
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %ap.addr = alloca %"struct.boost::parameter::aux::arg_list"*, align 4
  %default_value.addr = alloca i32, align 4
  %agg.tmp = alloca %"struct.boost::parameter::aux::default_.21", align 4
  %ref.tmp = alloca i32, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  store %"struct.boost::parameter::aux::arg_list"* %ap, %"struct.boost::parameter::aux::arg_list"** %ap.addr, align 4
  store i32 %default_value, i32* %default_value.addr, align 4
  %0 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = load i32* %default_value.addr, align 4
  %2 = load %"struct.boost::parameter::aux::arg_list"** %ap.addr, align 4
  %3 = bitcast %"struct.boost::parameter::aux::arg_list"* %2 to %"struct.boost::parameter::aux::empty_arg_list"*
  store i32 0, i32* %ref.tmp, align 4
  call void @_ZNK5boost9parameter7keywordINS_5graph8keywords3tag9color_mapEEorIiEENS0_3aux8default_IS5_KT_EERSB_(%"struct.boost::parameter::aux::default_.21"* sret %agg.tmp, %"struct.boost::parameter::keyword.22"* @_ZN5boost9parameter7keywordINS_5graph8keywords3tag9color_mapEE8instanceE, i32* %ref.tmp)
  %call = call i32* @_ZNK5boost9parameter3aux14empty_arg_listixINS_5graph8keywords3tag9color_mapEKiEERT0_NS1_8default_IT_S9_EE(%"struct.boost::parameter::aux::empty_arg_list"* %3, %"struct.boost::parameter::aux::default_.21"* byval align 4 %agg.tmp)
  %4 = load %"struct.boost::parameter::aux::arg_list"** %ap.addr, align 4
  call void @_ZN5boost6detail16map_maker_helperILb0ENS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEENS_9parameter3aux8arg_listINS9_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSI_ISJ_iNS_16on_finish_vertexEEEEEEENS9_14empty_arg_listEEENS_18default_color_typeEiE8make_mapERKS7_SU_RKiRKST_(%"class.boost::shared_array_property_map"* sret %agg.result, %"class.boost::adjacency_list"* %0, i32 %1, i32* %call, %"struct.boost::parameter::aux::arg_list"* %4)
  ret void
}

define linkonce_odr void @_ZN5boost6detail16map_maker_helperILb0ENS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEENS_9parameter3aux8arg_listINS9_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSI_ISJ_iNS_16on_finish_vertexEEEEEEENS9_14empty_arg_listEEENS_18default_color_typeEiE8make_mapERKS7_SU_RKiRKST_(%"class.boost::shared_array_property_map"* noalias sret %agg.result, %"class.boost::adjacency_list"* %g, i32 %v, i32*, %"struct.boost::parameter::aux::arg_list"* %ap) align 2 {
entry:
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %v.addr = alloca i32, align 4
  %.addr = alloca i32*, align 4
  %ap.addr = alloca %"struct.boost::parameter::aux::arg_list"*, align 4
  %ref.tmp = alloca %"struct.boost::vec_adj_list_vertex_id_map", align 1
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  store i32* %0, i32** %.addr, align 4
  store %"struct.boost::parameter::aux::arg_list"* %ap, %"struct.boost::parameter::aux::arg_list"** %ap.addr, align 4
  %1 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %2 = bitcast %"class.boost::adjacency_list"* %1 to %"struct.boost::adj_list_helper"*
  %call = call i32 @_ZN5boost12num_verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EEEENT_18vertices_size_typeERKNS_15adj_list_helperISD_T0_EE(%"struct.boost::adj_list_helper"* %2)
  %3 = load %"struct.boost::parameter::aux::arg_list"** %ap.addr, align 4
  %4 = load %"struct.boost::parameter::keyword.23"** @_ZN5boost5graph8keywords12_GLOBAL__N_117_vertex_index_mapE, align 4
  %5 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost6detail23override_const_propertyINS_9parameter3aux8arg_listINS3_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSC_ISD_iNS_16on_finish_vertexEEEEEEENS3_14empty_arg_listEEENS8_16vertex_index_mapENS_14vertex_index_tENS_14adjacency_listINS_4vecSESR_NS_9directedSENS_11no_propertyEST_ST_NS_5listSEEEEENS0_30override_const_property_resultIT_T0_T1_T2_E4typeERKSX_RKNS2_7keywordISY_EERKS10_SZ_(%"struct.boost::vec_adj_list_vertex_id_map"* sret %ref.tmp, %"struct.boost::parameter::aux::arg_list"* %3, %"struct.boost::parameter::keyword.23"* %4, %"class.boost::adjacency_list"* %5, i32 0)
  call void @_ZN5boost30make_shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEENS_25shared_array_property_mapIT_T0_EEjRKS6_RKS7_(%"class.boost::shared_array_property_map"* sret %agg.result, i32 %call, i32* %v.addr, %"struct.boost::vec_adj_list_vertex_id_map"* %ref.tmp)
  ret void
}

define linkonce_odr i32* @_ZNK5boost9parameter3aux14empty_arg_listixINS_5graph8keywords3tag9color_mapEKiEERT0_NS1_8default_IT_S9_EE(%"struct.boost::parameter::aux::empty_arg_list"* %this, %"struct.boost::parameter::aux::default_.21"* byval align 4 %x) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::empty_arg_list"*, align 4
  store %"struct.boost::parameter::aux::empty_arg_list"* %this, %"struct.boost::parameter::aux::empty_arg_list"** %this.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::empty_arg_list"** %this.addr
  %value = getelementptr inbounds %"struct.boost::parameter::aux::default_.21"* %x, i32 0, i32 0
  %ref = load i32** %value, align 4
  ret i32* %ref
}

define linkonce_odr void @_ZNK5boost9parameter7keywordINS_5graph8keywords3tag9color_mapEEorIiEENS0_3aux8default_IS5_KT_EERSB_(%"struct.boost::parameter::aux::default_.21"* noalias sret %agg.result, %"struct.boost::parameter::keyword.22"* %this, i32* %default_) align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::keyword.22"*, align 4
  %default_.addr = alloca i32*, align 4
  store %"struct.boost::parameter::keyword.22"* %this, %"struct.boost::parameter::keyword.22"** %this.addr, align 4
  store i32* %default_, i32** %default_.addr, align 4
  %this1 = load %"struct.boost::parameter::keyword.22"** %this.addr
  %0 = load i32** %default_.addr, align 4
  call void @_ZN5boost9parameter3aux8default_INS_5graph8keywords3tag9color_mapEKiEC1ERS7_(%"struct.boost::parameter::aux::default_.21"* %agg.result, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux8default_INS_5graph8keywords3tag9color_mapEKiEC1ERS7_(%"struct.boost::parameter::aux::default_.21"* %this, i32* %x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::default_.21"*, align 4
  %x.addr = alloca i32*, align 4
  store %"struct.boost::parameter::aux::default_.21"* %this, %"struct.boost::parameter::aux::default_.21"** %this.addr, align 4
  store i32* %x, i32** %x.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::default_.21"** %this.addr
  %0 = load i32** %x.addr
  call void @_ZN5boost9parameter3aux8default_INS_5graph8keywords3tag9color_mapEKiEC2ERS7_(%"struct.boost::parameter::aux::default_.21"* %this1, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux8default_INS_5graph8keywords3tag9color_mapEKiEC2ERS7_(%"struct.boost::parameter::aux::default_.21"* %this, i32* %x) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::default_.21"*, align 4
  %x.addr = alloca i32*, align 4
  store %"struct.boost::parameter::aux::default_.21"* %this, %"struct.boost::parameter::aux::default_.21"** %this.addr, align 4
  store i32* %x, i32** %x.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::default_.21"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::parameter::aux::default_.21"* %this1, i32 0, i32 0
  %1 = load i32** %x.addr, align 4
  store i32* %1, i32** %0, align 4
  ret void
}

define linkonce_odr void @_ZN5boost30make_shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEENS_25shared_array_property_mapIT_T0_EEjRKS6_RKS7_(%"class.boost::shared_array_property_map"* noalias sret %agg.result, i32 %n, i32*, %"struct.boost::vec_adj_list_vertex_id_map"* %index) {
entry:
  %n.addr = alloca i32, align 4
  %.addr = alloca i32*, align 4
  %index.addr = alloca %"struct.boost::vec_adj_list_vertex_id_map"*, align 4
  store i32 %n, i32* %n.addr, align 4
  store i32* %0, i32** %.addr, align 4
  store %"struct.boost::vec_adj_list_vertex_id_map"* %index, %"struct.boost::vec_adj_list_vertex_id_map"** %index.addr, align 4
  %1 = load i32* %n.addr, align 4
  %2 = load %"struct.boost::vec_adj_list_vertex_id_map"** %index.addr, align 4
  call void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEC1EjRKS4_(%"class.boost::shared_array_property_map"* %agg.result, i32 %1, %"struct.boost::vec_adj_list_vertex_id_map"* %2)
  ret void
}

define linkonce_odr void @_ZN5boost6detail23override_const_propertyINS_9parameter3aux8arg_listINS3_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSC_ISD_iNS_16on_finish_vertexEEEEEEENS3_14empty_arg_listEEENS8_16vertex_index_mapENS_14vertex_index_tENS_14adjacency_listINS_4vecSESR_NS_9directedSENS_11no_propertyEST_ST_NS_5listSEEEEENS0_30override_const_property_resultIT_T0_T1_T2_E4typeERKSX_RKNS2_7keywordISY_EERKS10_SZ_(%"struct.boost::vec_adj_list_vertex_id_map"* noalias sret %agg.result, %"struct.boost::parameter::aux::arg_list"* %ap, %"struct.boost::parameter::keyword.23"* %t, %"class.boost::adjacency_list"* %g, i32) {
entry:
  %ap.addr = alloca %"struct.boost::parameter::aux::arg_list"*, align 4
  %t.addr = alloca %"struct.boost::parameter::keyword.23"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %.addr = alloca i32, align 4
  %tmp = alloca %"struct.boost::detail::override_const_property_t", align 1
  %agg.tmp = alloca %"struct.boost::parameter::aux::default_.24", align 4
  %ref.tmp = alloca i32, align 4
  store %"struct.boost::parameter::aux::arg_list"* %ap, %"struct.boost::parameter::aux::arg_list"** %ap.addr, align 4
  store %"struct.boost::parameter::keyword.23"* %t, %"struct.boost::parameter::keyword.23"** %t.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  store i32 %0, i32* %.addr, align 4
  %1 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %2 = load %"struct.boost::parameter::aux::arg_list"** %ap.addr, align 4
  %3 = bitcast %"struct.boost::parameter::aux::arg_list"* %2 to %"struct.boost::parameter::aux::empty_arg_list"*
  %4 = load %"struct.boost::parameter::keyword.23"** %t.addr, align 4
  store i32 0, i32* %ref.tmp, align 4
  call void @_ZNK5boost9parameter7keywordINS_5graph8keywords3tag16vertex_index_mapEEorIiEENS0_3aux8default_IS5_KT_EERSB_(%"struct.boost::parameter::aux::default_.24"* sret %agg.tmp, %"struct.boost::parameter::keyword.23"* %4, i32* %ref.tmp)
  %call = call i32* @_ZNK5boost9parameter3aux14empty_arg_listixINS_5graph8keywords3tag16vertex_index_mapEKiEERT0_NS1_8default_IT_S9_EE(%"struct.boost::parameter::aux::empty_arg_list"* %3, %"struct.boost::parameter::aux::default_.24"* byval align 4 %agg.tmp)
  call void @_ZNK5boost6detail25override_const_property_tIiNS_14vertex_index_tENS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEELb0EEclERKS8_RKi(%"struct.boost::vec_adj_list_vertex_id_map"* sret %agg.result, %"struct.boost::detail::override_const_property_t"* %tmp, %"class.boost::adjacency_list"* %1, i32* %call)
  ret void
}

define linkonce_odr void @_ZNK5boost6detail25override_const_property_tIiNS_14vertex_index_tENS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEELb0EEclERKS8_RKi(%"struct.boost::vec_adj_list_vertex_id_map"* noalias sret %agg.result, %"struct.boost::detail::override_const_property_t"* %this, %"class.boost::adjacency_list"* %g, i32*) align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::override_const_property_t"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %.addr = alloca i32*, align 4
  store %"struct.boost::detail::override_const_property_t"* %this, %"struct.boost::detail::override_const_property_t"** %this.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  store i32* %0, i32** %.addr, align 4
  %this1 = load %"struct.boost::detail::override_const_property_t"** %this.addr
  %1 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %2 = bitcast %"class.boost::adjacency_list"* %1 to %"struct.boost::adj_list_helper"*
  call void @_ZN5boost3getINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EENS_14vertex_index_tEEENS_12property_mapINT_10graph_typeET1_E10const_typeESH_RKNS_15adj_list_helperISF_T0_EE(%"struct.boost::vec_adj_list_vertex_id_map"* sret %agg.result, i32 0, %"struct.boost::adj_list_helper"* %2)
  ret void
}

define linkonce_odr i32* @_ZNK5boost9parameter3aux14empty_arg_listixINS_5graph8keywords3tag16vertex_index_mapEKiEERT0_NS1_8default_IT_S9_EE(%"struct.boost::parameter::aux::empty_arg_list"* %this, %"struct.boost::parameter::aux::default_.24"* byval align 4 %x) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::empty_arg_list"*, align 4
  store %"struct.boost::parameter::aux::empty_arg_list"* %this, %"struct.boost::parameter::aux::empty_arg_list"** %this.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::empty_arg_list"** %this.addr
  %value = getelementptr inbounds %"struct.boost::parameter::aux::default_.24"* %x, i32 0, i32 0
  %ref = load i32** %value, align 4
  ret i32* %ref
}

define linkonce_odr void @_ZNK5boost9parameter7keywordINS_5graph8keywords3tag16vertex_index_mapEEorIiEENS0_3aux8default_IS5_KT_EERSB_(%"struct.boost::parameter::aux::default_.24"* noalias sret %agg.result, %"struct.boost::parameter::keyword.23"* %this, i32* %default_) align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::keyword.23"*, align 4
  %default_.addr = alloca i32*, align 4
  store %"struct.boost::parameter::keyword.23"* %this, %"struct.boost::parameter::keyword.23"** %this.addr, align 4
  store i32* %default_, i32** %default_.addr, align 4
  %this1 = load %"struct.boost::parameter::keyword.23"** %this.addr
  %0 = load i32** %default_.addr, align 4
  call void @_ZN5boost9parameter3aux8default_INS_5graph8keywords3tag16vertex_index_mapEKiEC1ERS7_(%"struct.boost::parameter::aux::default_.24"* %agg.result, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux8default_INS_5graph8keywords3tag16vertex_index_mapEKiEC1ERS7_(%"struct.boost::parameter::aux::default_.24"* %this, i32* %x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::default_.24"*, align 4
  %x.addr = alloca i32*, align 4
  store %"struct.boost::parameter::aux::default_.24"* %this, %"struct.boost::parameter::aux::default_.24"** %this.addr, align 4
  store i32* %x, i32** %x.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::default_.24"** %this.addr
  %0 = load i32** %x.addr
  call void @_ZN5boost9parameter3aux8default_INS_5graph8keywords3tag16vertex_index_mapEKiEC2ERS7_(%"struct.boost::parameter::aux::default_.24"* %this1, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux8default_INS_5graph8keywords3tag16vertex_index_mapEKiEC2ERS7_(%"struct.boost::parameter::aux::default_.24"* %this, i32* %x) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::default_.24"*, align 4
  %x.addr = alloca i32*, align 4
  store %"struct.boost::parameter::aux::default_.24"* %this, %"struct.boost::parameter::aux::default_.24"** %this.addr, align 4
  store i32* %x, i32** %x.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::default_.24"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::parameter::aux::default_.24"* %this1, i32 0, i32 0
  %1 = load i32** %x.addr, align 4
  store i32* %1, i32** %0, align 4
  ret void
}

define linkonce_odr void @_ZN5boost3getINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EENS_14vertex_index_tEEENS_12property_mapINT_10graph_typeET1_E10const_typeESH_RKNS_15adj_list_helperISF_T0_EE(%"struct.boost::vec_adj_list_vertex_id_map"* noalias sret %agg.result, i32 %p, %"struct.boost::adj_list_helper"* %g) inlinehint {
entry:
  %p.addr = alloca i32, align 4
  %g.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %agg.tmp = alloca %"struct.boost::vertex_property_tag", align 1
  store i32 %p, i32* %p.addr, align 4
  store %"struct.boost::adj_list_helper"* %g, %"struct.boost::adj_list_helper"** %g.addr, align 4
  %0 = load %"struct.boost::adj_list_helper"** %g.addr, align 4
  %1 = load i32* %p.addr, align 4
  call void @_ZN5boost6detail12get_dispatchINS0_12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EENS_14vertex_index_tEEENS_12property_mapINT_10graph_typeET1_E10const_typeERKNS_15adj_list_helperISF_T0_EESH_NS_19vertex_property_tagE(%"struct.boost::vec_adj_list_vertex_id_map"* sret %agg.result, %"struct.boost::adj_list_helper"* %0, i32 %1)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12get_dispatchINS0_12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EENS_14vertex_index_tEEENS_12property_mapINT_10graph_typeET1_E10const_typeERKNS_15adj_list_helperISF_T0_EESH_NS_19vertex_property_tagE(%"struct.boost::vec_adj_list_vertex_id_map"* noalias sret %agg.result, %"struct.boost::adj_list_helper"* %g, i32 %p) inlinehint {
entry:
  %g.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %p.addr = alloca i32, align 4
  %0 = alloca %"struct.boost::vertex_property_tag", align 1
  %cg = alloca %"class.boost::adjacency_list"*, align 4
  %ref.tmp = alloca %"class.boost::adjacency_list"*, align 4
  store %"struct.boost::adj_list_helper"* %g, %"struct.boost::adj_list_helper"** %g.addr, align 4
  store i32 %p, i32* %p.addr, align 4
  %1 = load %"struct.boost::adj_list_helper"** %g.addr, align 4
  %2 = bitcast %"struct.boost::adj_list_helper"* %1 to %"class.boost::adjacency_list"*
  store %"class.boost::adjacency_list"* %2, %"class.boost::adjacency_list"** %cg, align 4
  %3 = load %"class.boost::adjacency_list"** %cg, align 4
  store %"class.boost::adjacency_list"* %3, %"class.boost::adjacency_list"** %ref.tmp, align 4
  %4 = load i32* %p.addr, align 4
  call void @_ZN5boost26vec_adj_list_vertex_id_mapINS_11no_propertyEjEC1IPKNS_14adjacency_listINS_4vecSES5_NS_9directedSES1_S1_S1_NS_5listSEEEEERKT_NS_14vertex_index_tE(%"struct.boost::vec_adj_list_vertex_id_map"* %agg.result, %"class.boost::adjacency_list"** %ref.tmp, i32 %4)
  ret void
}

define linkonce_odr void @_ZN5boost26vec_adj_list_vertex_id_mapINS_11no_propertyEjEC1IPKNS_14adjacency_listINS_4vecSES5_NS_9directedSES1_S1_S1_NS_5listSEEEEERKT_NS_14vertex_index_tE(%"struct.boost::vec_adj_list_vertex_id_map"* %this, %"class.boost::adjacency_list"**, i32) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::vec_adj_list_vertex_id_map"*, align 4
  %.addr = alloca %"class.boost::adjacency_list"**, align 4
  %.addr1 = alloca i32, align 4
  store %"struct.boost::vec_adj_list_vertex_id_map"* %this, %"struct.boost::vec_adj_list_vertex_id_map"** %this.addr, align 4
  store %"class.boost::adjacency_list"** %0, %"class.boost::adjacency_list"*** %.addr, align 4
  store i32 %1, i32* %.addr1, align 4
  %this2 = load %"struct.boost::vec_adj_list_vertex_id_map"** %this.addr
  %2 = load %"class.boost::adjacency_list"*** %.addr
  %3 = load i32* %.addr1, align 4
  call void @_ZN5boost26vec_adj_list_vertex_id_mapINS_11no_propertyEjEC2IPKNS_14adjacency_listINS_4vecSES5_NS_9directedSES1_S1_S1_NS_5listSEEEEERKT_NS_14vertex_index_tE(%"struct.boost::vec_adj_list_vertex_id_map"* %this2, %"class.boost::adjacency_list"** %2, i32 %3)
  ret void
}

define linkonce_odr void @_ZN5boost26vec_adj_list_vertex_id_mapINS_11no_propertyEjEC2IPKNS_14adjacency_listINS_4vecSES5_NS_9directedSES1_S1_S1_NS_5listSEEEEERKT_NS_14vertex_index_tE(%"struct.boost::vec_adj_list_vertex_id_map"* %this, %"class.boost::adjacency_list"**, i32) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::vec_adj_list_vertex_id_map"*, align 4
  %.addr = alloca %"class.boost::adjacency_list"**, align 4
  %.addr1 = alloca i32, align 4
  store %"struct.boost::vec_adj_list_vertex_id_map"* %this, %"struct.boost::vec_adj_list_vertex_id_map"** %this.addr, align 4
  store %"class.boost::adjacency_list"** %0, %"class.boost::adjacency_list"*** %.addr, align 4
  store i32 %1, i32* %.addr1, align 4
  %this2 = load %"struct.boost::vec_adj_list_vertex_id_map"** %this.addr
  %2 = bitcast %"struct.boost::vec_adj_list_vertex_id_map"* %this2 to %"struct.boost::put_get_helper.16"*
  ret void
}

define linkonce_odr void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEC1EjRKS4_(%"class.boost::shared_array_property_map"* %this, i32 %n, %"struct.boost::vec_adj_list_vertex_id_map"* %_id) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array_property_map"*, align 4
  %n.addr = alloca i32, align 4
  %_id.addr = alloca %"struct.boost::vec_adj_list_vertex_id_map"*, align 4
  store %"class.boost::shared_array_property_map"* %this, %"class.boost::shared_array_property_map"** %this.addr, align 4
  store i32 %n, i32* %n.addr, align 4
  store %"struct.boost::vec_adj_list_vertex_id_map"* %_id, %"struct.boost::vec_adj_list_vertex_id_map"** %_id.addr, align 4
  %this1 = load %"class.boost::shared_array_property_map"** %this.addr
  %0 = load i32* %n.addr, align 4
  %1 = load %"struct.boost::vec_adj_list_vertex_id_map"** %_id.addr
  call void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEC2EjRKS4_(%"class.boost::shared_array_property_map"* %this1, i32 %0, %"struct.boost::vec_adj_list_vertex_id_map"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEC2EjRKS4_(%"class.boost::shared_array_property_map"* %this, i32 %n, %"struct.boost::vec_adj_list_vertex_id_map"* %_id) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array_property_map"*, align 4
  %n.addr = alloca i32, align 4
  %_id.addr = alloca %"struct.boost::vec_adj_list_vertex_id_map"*, align 4
  store %"class.boost::shared_array_property_map"* %this, %"class.boost::shared_array_property_map"** %this.addr, align 4
  store i32 %n, i32* %n.addr, align 4
  store %"struct.boost::vec_adj_list_vertex_id_map"* %_id, %"struct.boost::vec_adj_list_vertex_id_map"** %_id.addr, align 4
  %this1 = load %"class.boost::shared_array_property_map"** %this.addr
  %0 = bitcast %"class.boost::shared_array_property_map"* %this1 to %"struct.boost::put_get_helper"*
  %data = getelementptr inbounds %"class.boost::shared_array_property_map"* %this1, i32 0, i32 0
  %1 = load i32* %n.addr, align 4
  %2 = call { i32, i1 } @llvm.umul.with.overflow.i32(i32 %1, i32 4)
  %3 = extractvalue { i32, i1 } %2, 1
  %4 = extractvalue { i32, i1 } %2, 0
  %5 = select i1 %3, i32 -1, i32 %4
  %call = call noalias i8* @_Znaj(i32 %5)
  %6 = bitcast i8* %call to i32*
  call void @_ZN5boost12shared_arrayINS_18default_color_typeEEC1EPS1_(%"class.boost::shared_array"* %data, i32* %6)
  %index = getelementptr inbounds %"class.boost::shared_array_property_map"* %this1, i32 0, i32 1
  %7 = load %"struct.boost::vec_adj_list_vertex_id_map"** %_id.addr, align 4
  ret void
}

define linkonce_odr void @_ZN5boost12shared_arrayINS_18default_color_typeEEC1EPS1_(%"class.boost::shared_array"* %this, i32* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array"*, align 4
  %p.addr = alloca i32*, align 4
  store %"class.boost::shared_array"* %this, %"class.boost::shared_array"** %this.addr, align 4
  store i32* %p, i32** %p.addr, align 4
  %this1 = load %"class.boost::shared_array"** %this.addr
  %0 = load i32** %p.addr, align 4
  call void @_ZN5boost12shared_arrayINS_18default_color_typeEEC2EPS1_(%"class.boost::shared_array"* %this1, i32* %0)
  ret void
}

declare { i32, i1 } @llvm.umul.with.overflow.i32(i32, i32) nounwind readnone

declare noalias i8* @_Znaj(i32)

define linkonce_odr void @_ZN5boost12shared_arrayINS_18default_color_typeEEC2EPS1_(%"class.boost::shared_array"* %this, i32* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array"*, align 4
  %p.addr = alloca i32*, align 4
  %agg.tmp = alloca %"struct.boost::checked_array_deleter", align 1
  store %"class.boost::shared_array"* %this, %"class.boost::shared_array"** %this.addr, align 4
  store i32* %p, i32** %p.addr, align 4
  %this1 = load %"class.boost::shared_array"** %this.addr
  %px = getelementptr inbounds %"class.boost::shared_array"* %this1, i32 0, i32 0
  %0 = load i32** %p.addr, align 4
  store i32* %0, i32** %px, align 4
  %pn = getelementptr inbounds %"class.boost::shared_array"* %this1, i32 0, i32 1
  %1 = load i32** %p.addr, align 4
  call void @_ZN5boost6detail12shared_countC1IPNS_18default_color_typeENS_21checked_array_deleterIS3_EEEET_T0_(%"class.boost::detail::shared_count"* %pn, i32* %1)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12shared_countC1IPNS_18default_color_typeENS_21checked_array_deleterIS3_EEEET_T0_(%"class.boost::detail::shared_count"* %this, i32* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::shared_count"*, align 4
  %p.addr = alloca i32*, align 4
  %d = alloca %"struct.boost::checked_array_deleter", align 1
  store %"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"** %this.addr, align 4
  store i32* %p, i32** %p.addr, align 4
  %this1 = load %"class.boost::detail::shared_count"** %this.addr
  %0 = load i32** %p.addr, align 4
  call void @_ZN5boost6detail12shared_countC2IPNS_18default_color_typeENS_21checked_array_deleterIS3_EEEET_T0_(%"class.boost::detail::shared_count"* %this1, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12shared_countC2IPNS_18default_color_typeENS_21checked_array_deleterIS3_EEEET_T0_(%"class.boost::detail::shared_count"* %this, i32* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::shared_count"*, align 4
  %p.addr = alloca i32*, align 4
  %d = alloca %"struct.boost::checked_array_deleter", align 1
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"** %this.addr, align 4
  store i32* %p, i32** %p.addr, align 4
  %this1 = load %"class.boost::detail::shared_count"** %this.addr
  %pi_ = getelementptr inbounds %"class.boost::detail::shared_count"* %this1, i32 0, i32 0
  store %"class.boost::detail::sp_counted_base"* null, %"class.boost::detail::sp_counted_base"** %pi_, align 4
  %call = invoke noalias i8* @_Znwj(i32 20)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast i8* %call to %"class.boost::detail::sp_counted_impl_pd"*
  %1 = load i32** %p.addr, align 4
  invoke void @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEEC1ES3_RS5_(%"class.boost::detail::sp_counted_impl_pd"* %0, i32* %1, %"struct.boost::checked_array_deleter"* %d)
          to label %invoke.cont3 unwind label %lpad2

invoke.cont3:                                     ; preds = %invoke.cont
  %2 = bitcast %"class.boost::detail::sp_counted_impl_pd"* %0 to %"class.boost::detail::sp_counted_base"*
  %pi_4 = getelementptr inbounds %"class.boost::detail::shared_count"* %this1, i32 0, i32 0
  store %"class.boost::detail::sp_counted_base"* %2, %"class.boost::detail::sp_counted_base"** %pi_4, align 4
  br label %try.cont

lpad:                                             ; preds = %entry
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  br label %catch

lpad2:                                            ; preds = %invoke.cont
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  call void @_ZdlPv(i8* %call) nounwind
  br label %catch

catch:                                            ; preds = %lpad2, %lpad
  %exn = load i8** %exn.slot
  %9 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %10 = load i32** %p.addr, align 4
  invoke void @_ZNK5boost21checked_array_deleterINS_18default_color_typeEEclEPS1_(%"struct.boost::checked_array_deleter"* %d, i32* %10)
          to label %invoke.cont6 unwind label %lpad5

invoke.cont6:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad5

lpad5:                                            ; preds = %invoke.cont6, %catch
  %11 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %12 = extractvalue { i8*, i32 } %11, 0
  store i8* %12, i8** %exn.slot
  %13 = extractvalue { i8*, i32 } %11, 1
  store i32 %13, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont7 unwind label %terminate.lpad

invoke.cont7:                                     ; preds = %lpad5
  br label %eh.resume

try.cont:                                         ; preds = %invoke.cont3
  ret void

eh.resume:                                        ; preds = %invoke.cont7
  %exn8 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn8, 0
  %lpad.val9 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val9

terminate.lpad:                                   ; preds = %lpad5
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont6
  unreachable
}

declare noalias i8* @_Znwj(i32)

define linkonce_odr void @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEEC1ES3_RS5_(%"class.boost::detail::sp_counted_impl_pd"* %this, i32* %p, %"struct.boost::checked_array_deleter"* %d) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_pd"*, align 4
  %p.addr = alloca i32*, align 4
  %d.addr = alloca %"struct.boost::checked_array_deleter"*, align 4
  store %"class.boost::detail::sp_counted_impl_pd"* %this, %"class.boost::detail::sp_counted_impl_pd"** %this.addr, align 4
  store i32* %p, i32** %p.addr, align 4
  store %"struct.boost::checked_array_deleter"* %d, %"struct.boost::checked_array_deleter"** %d.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_pd"** %this.addr
  %0 = load i32** %p.addr, align 4
  %1 = load %"struct.boost::checked_array_deleter"** %d.addr
  call void @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEEC2ES3_RS5_(%"class.boost::detail::sp_counted_impl_pd"* %this1, i32* %0, %"struct.boost::checked_array_deleter"* %1)
  ret void
}

declare void @_ZdlPv(i8*) nounwind

declare i8* @__cxa_begin_catch(i8*)

define linkonce_odr void @_ZNK5boost21checked_array_deleterINS_18default_color_typeEEclEPS1_(%"struct.boost::checked_array_deleter"* %this, i32* %x) align 2 {
entry:
  %this.addr = alloca %"struct.boost::checked_array_deleter"*, align 4
  %x.addr = alloca i32*, align 4
  store %"struct.boost::checked_array_deleter"* %this, %"struct.boost::checked_array_deleter"** %this.addr, align 4
  store i32* %x, i32** %x.addr, align 4
  %this1 = load %"struct.boost::checked_array_deleter"** %this.addr
  %0 = load i32** %x.addr, align 4
  call void @_ZN5boost20checked_array_deleteINS_18default_color_typeEEEvPT_(i32* %0)
  ret void
}

declare void @__cxa_rethrow()

declare void @__cxa_end_catch()

define linkonce_odr void @_ZN5boost20checked_array_deleteINS_18default_color_typeEEEvPT_(i32* %x) nounwind inlinehint {
entry:
  %x.addr = alloca i32*, align 4
  store i32* %x, i32** %x.addr, align 4
  %0 = load i32** %x.addr, align 4
  %isnull = icmp eq i32* %0, null
  br i1 %isnull, label %delete.end, label %delete.notnull

delete.notnull:                                   ; preds = %entry
  %1 = bitcast i32* %0 to i8*
  call void @_ZdaPv(i8* %1) nounwind
  br label %delete.end

delete.end:                                       ; preds = %delete.notnull, %entry
  ret void
}

declare void @_ZdaPv(i8*) nounwind

define linkonce_odr void @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEEC2ES3_RS5_(%"class.boost::detail::sp_counted_impl_pd"* %this, i32* %p, %"struct.boost::checked_array_deleter"* %d) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_pd"*, align 4
  %p.addr = alloca i32*, align 4
  %d.addr = alloca %"struct.boost::checked_array_deleter"*, align 4
  store %"class.boost::detail::sp_counted_impl_pd"* %this, %"class.boost::detail::sp_counted_impl_pd"** %this.addr, align 4
  store i32* %p, i32** %p.addr, align 4
  store %"struct.boost::checked_array_deleter"* %d, %"struct.boost::checked_array_deleter"** %d.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_pd"** %this.addr
  %0 = bitcast %"class.boost::detail::sp_counted_impl_pd"* %this1 to %"class.boost::detail::sp_counted_base"*
  call void @_ZN5boost6detail15sp_counted_baseC2Ev(%"class.boost::detail::sp_counted_base"* %0)
  %1 = bitcast %"class.boost::detail::sp_counted_impl_pd"* %this1 to i8***
  store i8** getelementptr inbounds ([7 x i8*]* @_ZTVN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEEE, i64 0, i64 2), i8*** %1
  %ptr = getelementptr inbounds %"class.boost::detail::sp_counted_impl_pd"* %this1, i32 0, i32 1
  %2 = load i32** %p.addr, align 4
  store i32* %2, i32** %ptr, align 4
  %del = getelementptr inbounds %"class.boost::detail::sp_counted_impl_pd"* %this1, i32 0, i32 2
  %3 = load %"struct.boost::checked_array_deleter"** %d.addr, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_baseC2Ev(%"class.boost::detail::sp_counted_base"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  %0 = bitcast %"class.boost::detail::sp_counted_base"* %this1 to i8***
  store i8** getelementptr inbounds ([7 x i8*]* @_ZTVN5boost6detail15sp_counted_baseE, i64 0, i64 2), i8*** %0
  %use_count_ = getelementptr inbounds %"class.boost::detail::sp_counted_base"* %this1, i32 0, i32 1
  store i32 1, i32* %use_count_, align 4
  %weak_count_ = getelementptr inbounds %"class.boost::detail::sp_counted_base"* %this1, i32 0, i32 2
  store i32 1, i32* %weak_count_, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEED1Ev(%"class.boost::detail::sp_counted_impl_pd"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_pd"*, align 4
  store %"class.boost::detail::sp_counted_impl_pd"* %this, %"class.boost::detail::sp_counted_impl_pd"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_pd"** %this.addr
  call void @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEED2Ev(%"class.boost::detail::sp_counted_impl_pd"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEED0Ev(%"class.boost::detail::sp_counted_impl_pd"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_pd"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::detail::sp_counted_impl_pd"* %this, %"class.boost::detail::sp_counted_impl_pd"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_pd"** %this.addr
  invoke void @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEED1Ev(%"class.boost::detail::sp_counted_impl_pd"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::detail::sp_counted_impl_pd"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::detail::sp_counted_impl_pd"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEE7disposeEv(%"class.boost::detail::sp_counted_impl_pd"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_pd"*, align 4
  store %"class.boost::detail::sp_counted_impl_pd"* %this, %"class.boost::detail::sp_counted_impl_pd"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_pd"** %this.addr
  %del = getelementptr inbounds %"class.boost::detail::sp_counted_impl_pd"* %this1, i32 0, i32 2
  %ptr = getelementptr inbounds %"class.boost::detail::sp_counted_impl_pd"* %this1, i32 0, i32 1
  %0 = load i32** %ptr, align 4
  call void @_ZNK5boost21checked_array_deleterINS_18default_color_typeEEclEPS1_(%"struct.boost::checked_array_deleter"* %del, i32* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_base7destroyEv(%"class.boost::detail::sp_counted_base"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  %isnull = icmp eq %"class.boost::detail::sp_counted_base"* %this1, null
  br i1 %isnull, label %delete.end, label %delete.notnull

delete.notnull:                                   ; preds = %entry
  %0 = bitcast %"class.boost::detail::sp_counted_base"* %this1 to void (%"class.boost::detail::sp_counted_base"*)***
  %vtable = load void (%"class.boost::detail::sp_counted_base"*)*** %0
  %vfn = getelementptr inbounds void (%"class.boost::detail::sp_counted_base"*)** %vtable, i64 1
  %1 = load void (%"class.boost::detail::sp_counted_base"*)** %vfn
  call void %1(%"class.boost::detail::sp_counted_base"* %this1)
  br label %delete.end

delete.end:                                       ; preds = %delete.notnull, %entry
  ret void
}

define linkonce_odr i8* @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEE11get_deleterERKSt9type_info(%"class.boost::detail::sp_counted_impl_pd"* %this, %"class.std::type_info"* %ti) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_pd"*, align 4
  %ti.addr = alloca %"class.std::type_info"*, align 4
  store %"class.boost::detail::sp_counted_impl_pd"* %this, %"class.boost::detail::sp_counted_impl_pd"** %this.addr, align 4
  store %"class.std::type_info"* %ti, %"class.std::type_info"** %ti.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_pd"** %this.addr
  %0 = load %"class.std::type_info"** %ti.addr, align 4
  %call = call zeroext i1 @_ZNKSt9type_infoeqERKS_(%"class.std::type_info"* %0, %"class.std::type_info"* bitcast ({ i8*, i8* }* @_ZTIN5boost21checked_array_deleterINS_18default_color_typeEEE to %"class.std::type_info"*))
  br i1 %call, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  %del = getelementptr inbounds %"class.boost::detail::sp_counted_impl_pd"* %this1, i32 0, i32 2
  %1 = bitcast %"struct.boost::checked_array_deleter"* %del to i8*
  br label %cond.end

cond.false:                                       ; preds = %entry
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi i8* [ %1, %cond.true ], [ null, %cond.false ]
  ret i8* %cond
}

define linkonce_odr zeroext i1 @_ZNKSt9type_infoeqERKS_(%"class.std::type_info"* %this, %"class.std::type_info"* %__arg) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::type_info"*, align 4
  %__arg.addr = alloca %"class.std::type_info"*, align 4
  store %"class.std::type_info"* %this, %"class.std::type_info"** %this.addr, align 4
  store %"class.std::type_info"* %__arg, %"class.std::type_info"** %__arg.addr, align 4
  %this1 = load %"class.std::type_info"** %this.addr
  %__name = getelementptr inbounds %"class.std::type_info"* %this1, i32 0, i32 1
  %0 = load i8** %__name, align 4
  %1 = load %"class.std::type_info"** %__arg.addr, align 4
  %__name2 = getelementptr inbounds %"class.std::type_info"* %1, i32 0, i32 1
  %2 = load i8** %__name2, align 4
  %cmp = icmp eq i8* %0, %2
  br i1 %cmp, label %lor.end, label %lor.rhs

lor.rhs:                                          ; preds = %entry
  %__name3 = getelementptr inbounds %"class.std::type_info"* %this1, i32 0, i32 1
  %3 = load i8** %__name3, align 4
  %arrayidx = getelementptr inbounds i8* %3, i32 0
  %4 = load i8* %arrayidx, align 1
  %conv = sext i8 %4 to i32
  %cmp4 = icmp ne i32 %conv, 42
  br i1 %cmp4, label %land.rhs, label %land.end

land.rhs:                                         ; preds = %lor.rhs
  %__name5 = getelementptr inbounds %"class.std::type_info"* %this1, i32 0, i32 1
  %5 = load i8** %__name5, align 4
  %6 = load %"class.std::type_info"** %__arg.addr, align 4
  %__name6 = getelementptr inbounds %"class.std::type_info"* %6, i32 0, i32 1
  %7 = load i8** %__name6, align 4
  %call = call i32 @strcmp(i8* %5, i8* %7) nounwind
  %cmp7 = icmp eq i32 %call, 0
  br label %land.end

land.end:                                         ; preds = %land.rhs, %lor.rhs
  %8 = phi i1 [ false, %lor.rhs ], [ %cmp7, %land.rhs ]
  br label %lor.end

lor.end:                                          ; preds = %land.end, %entry
  %9 = phi i1 [ true, %entry ], [ %8, %land.end ]
  ret i1 %9
}

declare i32 @strcmp(i8*, i8*) nounwind

define linkonce_odr void @_ZN5boost6detail18sp_counted_impl_pdIPNS_18default_color_typeENS_21checked_array_deleterIS2_EEED2Ev(%"class.boost::detail::sp_counted_impl_pd"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_impl_pd"*, align 4
  store %"class.boost::detail::sp_counted_impl_pd"* %this, %"class.boost::detail::sp_counted_impl_pd"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_impl_pd"** %this.addr
  %0 = bitcast %"class.boost::detail::sp_counted_impl_pd"* %this1 to %"class.boost::detail::sp_counted_base"*
  call void @_ZN5boost6detail15sp_counted_baseD2Ev(%"class.boost::detail::sp_counted_base"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_baseD2Ev(%"class.boost::detail::sp_counted_base"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_baseD1Ev(%"class.boost::detail::sp_counted_base"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  call void @_ZN5boost6detail15sp_counted_baseD2Ev(%"class.boost::detail::sp_counted_base"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_baseD0Ev(%"class.boost::detail::sp_counted_base"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  invoke void @_ZN5boost6detail15sp_counted_baseD1Ev(%"class.boost::detail::sp_counted_base"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::detail::sp_counted_base"* %this1 to i8*
  call void @_ZdlPv(i8* %0) nounwind
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::detail::sp_counted_base"* %this1 to i8*
  call void @_ZdlPv(i8* %4) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

declare void @__cxa_pure_virtual()

define linkonce_odr void @_ZN5boost11dfs_visitorINS_12null_visitorEEC1ES1_(%"class.boost::dfs_visitor.17"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::dfs_visitor.17"*, align 4
  %vis = alloca %"struct.boost::null_visitor", align 1
  store %"class.boost::dfs_visitor.17"* %this, %"class.boost::dfs_visitor.17"** %this.addr, align 4
  %this1 = load %"class.boost::dfs_visitor.17"** %this.addr
  call void @_ZN5boost11dfs_visitorINS_12null_visitorEEC2ES1_(%"class.boost::dfs_visitor.17"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost11dfs_visitorINS_12null_visitorEEC2ES1_(%"class.boost::dfs_visitor.17"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::dfs_visitor.17"*, align 4
  %vis = alloca %"struct.boost::null_visitor", align 1
  store %"class.boost::dfs_visitor.17"* %this, %"class.boost::dfs_visitor.17"** %this.addr, align 4
  %this1 = load %"class.boost::dfs_visitor.17"** %this.addr
  %m_vis = getelementptr inbounds %"class.boost::dfs_visitor.17"* %this1, i32 0, i32 0
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux8default_INS_5graph8keywords3tag7visitorEKNS_11dfs_visitorINS_12null_visitorEEEEC1ERSA_(%"struct.boost::parameter::aux::default_"* %this, %"class.boost::dfs_visitor.17"* %x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::default_"*, align 4
  %x.addr = alloca %"class.boost::dfs_visitor.17"*, align 4
  store %"struct.boost::parameter::aux::default_"* %this, %"struct.boost::parameter::aux::default_"** %this.addr, align 4
  store %"class.boost::dfs_visitor.17"* %x, %"class.boost::dfs_visitor.17"** %x.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::default_"** %this.addr
  %0 = load %"class.boost::dfs_visitor.17"** %x.addr
  call void @_ZN5boost9parameter3aux8default_INS_5graph8keywords3tag7visitorEKNS_11dfs_visitorINS_12null_visitorEEEEC2ERSA_(%"struct.boost::parameter::aux::default_"* %this1, %"class.boost::dfs_visitor.17"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux8default_INS_5graph8keywords3tag7visitorEKNS_11dfs_visitorINS_12null_visitorEEEEC2ERSA_(%"struct.boost::parameter::aux::default_"* %this, %"class.boost::dfs_visitor.17"* %x) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::default_"*, align 4
  %x.addr = alloca %"class.boost::dfs_visitor.17"*, align 4
  store %"struct.boost::parameter::aux::default_"* %this, %"struct.boost::parameter::aux::default_"** %this.addr, align 4
  store %"class.boost::dfs_visitor.17"* %x, %"class.boost::dfs_visitor.17"** %x.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::default_"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::parameter::aux::default_"* %this1, i32 0, i32 0
  %1 = load %"class.boost::dfs_visitor.17"** %x.addr, align 4
  store %"class.boost::dfs_visitor.17"* %1, %"class.boost::dfs_visitor.17"** %0, align 4
  ret void
}

define linkonce_odr %struct.edge_categorizer* @_ZNK5boost9parameter3aux8arg_listINS1_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSA_ISB_iNS_16on_finish_vertexEEEEEEENS1_14empty_arg_listEE11get_defaultINS1_8default_IS7_KNS_11dfs_visitorINS_12null_visitorEEEEEEERSI_RKT_N4mpl_5bool_ILb0EEE(%"struct.boost::parameter::aux::arg_list"* %this, %"struct.boost::parameter::aux::default_"*) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::arg_list"*, align 4
  %.addr = alloca %"struct.boost::parameter::aux::default_"*, align 4
  %1 = alloca %"struct.mpl_::bool_.25", align 1
  store %"struct.boost::parameter::aux::arg_list"* %this, %"struct.boost::parameter::aux::arg_list"** %this.addr, align 4
  store %"struct.boost::parameter::aux::default_"* %0, %"struct.boost::parameter::aux::default_"** %.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::arg_list"** %this.addr
  %arg = getelementptr inbounds %"struct.boost::parameter::aux::arg_list"* %this1, i32 0, i32 0
  %value = getelementptr inbounds %"struct.boost::parameter::aux::tagged_argument"* %arg, i32 0, i32 0
  %ref = load %struct.edge_categorizer** %value, align 4
  ret %struct.edge_categorizer* %ref
}

define linkonce_odr void @_ZN5boost12range_detail16integer_iteratorIjEC1Ev(%"class.boost::range_detail::integer_iterator"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  call void @_ZN5boost12range_detail16integer_iteratorIjEC2Ev(%"class.boost::range_detail::integer_iterator"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples3tieINS_12range_detail16integer_iteratorIjEES4_EENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERS7_RS8_(%"class.boost::tuples::tuple"* noalias sret %agg.result, %"class.boost::range_detail::integer_iterator"* %t0, %"class.boost::range_detail::integer_iterator"* %t1) inlinehint {
entry:
  %t0.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %t1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %t0, %"class.boost::range_detail::integer_iterator"** %t0.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  %0 = load %"class.boost::range_detail::integer_iterator"** %t0.addr, align 4
  %1 = load %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  call void @_ZN5boost6tuples5tupleIRNS_12range_detail16integer_iteratorIjEES5_NS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EC1ES5_S5_(%"class.boost::tuples::tuple"* %agg.result, %"class.boost::range_detail::integer_iterator"* %0, %"class.boost::range_detail::integer_iterator"* %1)
  ret void
}

define linkonce_odr %"class.boost::tuples::tuple"* @_ZN5boost6tuples5tupleIRNS_12range_detail16integer_iteratorIjEES5_NS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EaSIS4_S4_EERS7_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple"* %this, %"struct.std::pair.20"* %k) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple"*, align 4
  %k.addr = alloca %"struct.std::pair.20"*, align 4
  store %"class.boost::tuples::tuple"* %this, %"class.boost::tuples::tuple"** %this.addr, align 4
  store %"struct.std::pair.20"* %k, %"struct.std::pair.20"** %k.addr, align 4
  %this1 = load %"class.boost::tuples::tuple"** %this.addr
  %0 = bitcast %"class.boost::tuples::tuple"* %this1 to %"struct.boost::tuples::cons"*
  %head = getelementptr inbounds %"struct.boost::tuples::cons"* %0, i32 0, i32 0
  %ref = load %"class.boost::range_detail::integer_iterator"** %head, align 4
  %1 = load %"struct.std::pair.20"** %k.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.20"* %1, i32 0, i32 0
  %2 = bitcast %"class.boost::range_detail::integer_iterator"* %ref to i8*
  %3 = bitcast %"class.boost::range_detail::integer_iterator"* %first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %4 = bitcast %"class.boost::tuples::tuple"* %this1 to %"struct.boost::tuples::cons"*
  %tail = getelementptr inbounds %"struct.boost::tuples::cons"* %4, i32 0, i32 1
  %head2 = getelementptr inbounds %"struct.boost::tuples::cons.27"* %tail, i32 0, i32 0
  %ref3 = load %"class.boost::range_detail::integer_iterator"** %head2, align 4
  %5 = load %"struct.std::pair.20"** %k.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.20"* %5, i32 0, i32 1
  %6 = bitcast %"class.boost::range_detail::integer_iterator"* %ref3 to i8*
  %7 = bitcast %"class.boost::range_detail::integer_iterator"* %second to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 4, i32 4, i1 false)
  ret %"class.boost::tuples::tuple"* %this1
}

define linkonce_odr zeroext i1 @_ZN5boostneINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiS3_jS4_jiEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS5_12always_bool2ES7_S8_E4typeEE4typeERKNS_15iterator_facadeIS7_T0_T1_T2_T3_EERKNSG_IS8_T5_T6_T7_T8_EE(%"class.boost::iterator_facade"* %lhs, %"class.boost::iterator_facade"* %rhs) inlinehint {
entry:
  %lhs.addr = alloca %"class.boost::iterator_facade"*, align 4
  %rhs.addr = alloca %"class.boost::iterator_facade"*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::is_convertible", align 1
  store %"class.boost::iterator_facade"* %lhs, %"class.boost::iterator_facade"** %lhs.addr, align 4
  store %"class.boost::iterator_facade"* %rhs, %"class.boost::iterator_facade"** %rhs.addr, align 4
  %0 = load %"class.boost::iterator_facade"** %lhs.addr, align 4
  %1 = bitcast %"class.boost::iterator_facade"* %0 to %"class.boost::range_detail::integer_iterator"*
  %2 = load %"class.boost::iterator_facade"** %rhs.addr, align 4
  %3 = bitcast %"class.boost::iterator_facade"* %2 to %"class.boost::range_detail::integer_iterator"*
  %4 = bitcast %"struct.boost::is_convertible"* %ref.tmp to %"struct.mpl_::bool_"*
  %call = call zeroext i1 @_ZN5boost20iterator_core_access5equalINS_12range_detail16integer_iteratorIjEES4_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE(%"class.boost::range_detail::integer_iterator"* %1, %"class.boost::range_detail::integer_iterator"* %3)
  %lnot = xor i1 %call, true
  ret i1 %lnot
}

define linkonce_odr i32 @_ZN5boost13implicit_castIjEET_NS_3mpl8identityIS1_E4typeE(i32 %x) nounwind inlinehint {
entry:
  %x.addr = alloca i32, align 4
  store i32 %x, i32* %x.addr, align 4
  %0 = load i32* %x.addr, align 4
  ret i32 %0
}

define linkonce_odr void @_ZN5boost3putINS_25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEERS2_jS2_EEvRKNS_14put_get_helperIT0_T_EET1_RKT2_(%"struct.boost::put_get_helper"* %pa, i32 %k, i32* %v) inlinehint {
entry:
  %pa.addr = alloca %"struct.boost::put_get_helper"*, align 4
  %k.addr = alloca i32, align 4
  %v.addr = alloca i32*, align 4
  store %"struct.boost::put_get_helper"* %pa, %"struct.boost::put_get_helper"** %pa.addr, align 4
  store i32 %k, i32* %k.addr, align 4
  store i32* %v, i32** %v.addr, align 4
  %0 = load i32** %v.addr, align 4
  %1 = load i32* %0, align 4
  %2 = load %"struct.boost::put_get_helper"** %pa.addr, align 4
  %3 = bitcast %"struct.boost::put_get_helper"* %2 to %"class.boost::shared_array_property_map"*
  %4 = load i32* %k.addr, align 4
  %call = call i32* @_ZNK5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEixEj(%"class.boost::shared_array_property_map"* %3, i32 %4)
  store i32 %1, i32* %call
  ret void
}

define linkonce_odr i32 @_ZN5boost12color_traitsINS_18default_color_typeEE5whiteEv() nounwind align 2 {
entry:
  ret i32 0
}

define linkonce_odr void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE17initialize_vertexIjNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %this, i32 %u, %"class.boost::adjacency_list"* %g) align 2 {
entry:
  %this.addr = alloca %"class.boost::dfs_visitor"*, align 4
  %u.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"struct.boost::on_initialize_vertex", align 1
  store %"class.boost::dfs_visitor"* %this, %"class.boost::dfs_visitor"** %this.addr, align 4
  store i32 %u, i32* %u.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %this1 = load %"class.boost::dfs_visitor"** %this.addr
  %m_vis = getelementptr inbounds %"class.boost::dfs_visitor"* %this1, i32 0, i32 0
  %0 = load i32* %u.addr, align 4
  %1 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES8_NS_9directedSENS_11no_propertyESA_SA_NS_5listSEEENS_20on_initialize_vertexEEEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %m_vis, i32 %0, %"class.boost::adjacency_list"* %1)
  ret void
}

define linkonce_odr %"class.boost::range_detail::integer_iterator"* @_ZN5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiEppEv(%"class.boost::iterator_facade"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade"*, align 4
  store %"class.boost::iterator_facade"* %this, %"class.boost::iterator_facade"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade"** %this.addr
  %call = call %"class.boost::range_detail::integer_iterator"* @_ZN5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiE7derivedEv(%"class.boost::iterator_facade"* %this1)
  call void @_ZN5boost20iterator_core_access9incrementINS_12range_detail16integer_iteratorIjEEEEvRT_(%"class.boost::range_detail::integer_iterator"* %call)
  %call2 = call %"class.boost::range_detail::integer_iterator"* @_ZN5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiE7derivedEv(%"class.boost::iterator_facade"* %this1)
  ret %"class.boost::range_detail::integer_iterator"* %call2
}

define linkonce_odr void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE12start_vertexIjNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %this, i32 %u, %"class.boost::adjacency_list"* %g) align 2 {
entry:
  %this.addr = alloca %"class.boost::dfs_visitor"*, align 4
  %u.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"struct.boost::on_start_vertex", align 1
  store %"class.boost::dfs_visitor"* %this, %"class.boost::dfs_visitor"** %this.addr, align 4
  store i32 %u, i32* %u.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %this1 = load %"class.boost::dfs_visitor"** %this.addr
  %m_vis = getelementptr inbounds %"class.boost::dfs_visitor"* %this1, i32 0, i32 0
  %0 = load i32* %u.addr, align 4
  %1 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES8_NS_9directedSENS_11no_propertyESA_SA_NS_5listSEEENS_15on_start_vertexEEEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %m_vis, i32 %0, %"class.boost::adjacency_list"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost6detail22depth_first_visit_implINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEE16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSA_ISB_iNS_16on_finish_vertexEEEEENS_25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapIS5_jEEEENS0_9nontruth2EEEvRKT_NS_12graph_traitsISO_E17vertex_descriptorERT0_T1_T2_(%"class.boost::adjacency_list"* %g, i32 %u, %struct.edge_categorizer* %vis, %"class.boost::shared_array_property_map"* %color) {
entry:
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %u.addr = alloca i32, align 4
  %vis.addr = alloca %struct.edge_categorizer*, align 4
  %func = alloca %"struct.boost::detail::nontruth2", align 1
  %ei = alloca %"struct.boost::detail::out_edge_iter", align 4
  %ei_end = alloca %"struct.boost::detail::out_edge_iter", align 4
  %stack = alloca %"class.std::vector.30", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp = alloca i32, align 4
  %tmp = alloca %"class.boost::tuples::tuple.37", align 4
  %ref.tmp4 = alloca %"struct.std::pair.36", align 4
  %fn = alloca %"struct.boost::detail::nontruth2"*, align 4
  %ref.tmp11 = alloca %"struct.std::pair.35", align 4
  %agg.tmp = alloca %"struct.std::pair.36", align 4
  %agg.tmp12 = alloca %"struct.boost::detail::out_edge_iter", align 4
  %agg.tmp13 = alloca %"struct.boost::detail::out_edge_iter", align 4
  %ref.tmp17 = alloca %"struct.std::pair.35", align 4
  %agg.tmp18 = alloca %"struct.std::pair.36", align 4
  %agg.tmp19 = alloca %"struct.boost::detail::out_edge_iter", align 4
  %agg.tmp20 = alloca %"struct.boost::detail::out_edge_iter", align 4
  %back = alloca %"struct.std::pair.35"*, align 4
  %tmp29 = alloca %"class.boost::tuples::tuple.37", align 4
  %v = alloca i32, align 4
  %ref.tmp39 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp43 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %v_color = alloca i32, align 4
  %agg.tmp52 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %ref.tmp55 = alloca %"struct.std::pair.35", align 4
  %agg.tmp56 = alloca %"struct.std::pair.36", align 4
  %agg.tmp57 = alloca %"struct.boost::detail::out_edge_iter", align 4
  %agg.tmp60 = alloca %"struct.boost::detail::out_edge_iter", align 4
  %ref.tmp66 = alloca i32, align 4
  %tmp69 = alloca %"class.boost::tuples::tuple.37", align 4
  %ref.tmp71 = alloca %"struct.std::pair.36", align 4
  %agg.tmp84 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp90 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %ref.tmp99 = alloca i32, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  store i32 %u, i32* %u.addr, align 4
  store %struct.edge_categorizer* %vis, %struct.edge_categorizer** %vis.addr, align 4
  call void @_ZN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS0_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEjNS0_14edge_desc_implINS_12directed_tagEjEEiEC1Ev(%"struct.boost::detail::out_edge_iter"* %ei)
  call void @_ZN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS0_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEjNS0_14edge_desc_implINS_12directed_tagEjEEiEC1Ev(%"struct.boost::detail::out_edge_iter"* %ei_end)
  call void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EEC1Ev(%"class.std::vector.30"* %stack)
  %0 = bitcast %"class.boost::shared_array_property_map"* %color to %"struct.boost::put_get_helper"*
  %1 = load i32* %u.addr, align 4
  %call = invoke i32 @_ZN5boost12color_traitsINS_18default_color_typeEE4grayEv()
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  store i32 %call, i32* %ref.tmp, align 4
  invoke void @_ZN5boost3putINS_25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEERS2_jS2_EEvRKNS_14put_get_helperIT0_T_EET1_RKT2_(%"struct.boost::put_get_helper"* %0, i32 %1, i32* %ref.tmp)
          to label %invoke.cont1 unwind label %lpad

invoke.cont1:                                     ; preds = %invoke.cont
  %2 = load %struct.edge_categorizer** %vis.addr, align 4
  %3 = bitcast %struct.edge_categorizer* %2 to %"class.boost::dfs_visitor"*
  %4 = load i32* %u.addr, align 4
  %5 = load %"class.boost::adjacency_list"** %g.addr, align 4
  invoke void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE15discover_vertexIjNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %3, i32 %4, %"class.boost::adjacency_list"* %5)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont1
  invoke void @_ZN5boost6tuples3tieINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESH_EENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERSK_RSL_(%"class.boost::tuples::tuple.37"* sret %tmp, %"struct.boost::detail::out_edge_iter"* %ei, %"struct.boost::detail::out_edge_iter"* %ei_end)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont2
  %6 = load i32* %u.addr, align 4
  %7 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %8 = bitcast %"class.boost::adjacency_list"* %7 to %"struct.boost::adj_list_helper"*
  invoke void @_ZN5boost9out_edgesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EEEESt4pairINT_17out_edge_iteratorESF_ENSE_17vertex_descriptorERKNS_15adj_list_helperISE_T0_EE(%"struct.std::pair.36"* sret %ref.tmp4, i32 %6, %"struct.boost::adj_list_helper"* %8)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  %call7 = invoke %"class.boost::tuples::tuple.37"* @_ZN5boost6tuples5tupleIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESI_NS0_9null_typeESJ_SJ_SJ_SJ_SJ_SJ_SJ_EaSISH_SH_EERSK_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple.37"* %tmp, %"struct.std::pair.36"* %ref.tmp4)
          to label %invoke.cont6 unwind label %lpad

invoke.cont6:                                     ; preds = %invoke.cont5
  store %"struct.boost::detail::nontruth2"* %func, %"struct.boost::detail::nontruth2"** %fn, align 4
  %9 = load %"struct.boost::detail::nontruth2"** %fn, align 4
  %10 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %call10 = invoke zeroext i1 @_ZNK5boost6detail9nontruth2clIjNS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEEEEbRKT_RKT0_(%"struct.boost::detail::nontruth2"* %9, i32* %u.addr, %"class.boost::adjacency_list"* %10)
          to label %invoke.cont9 unwind label %lpad

invoke.cont9:                                     ; preds = %invoke.cont6
  br i1 %call10, label %if.then, label %if.else

if.then:                                          ; preds = %invoke.cont9
  %11 = load i32* %u.addr, align 4
  %12 = bitcast %"struct.boost::detail::out_edge_iter"* %agg.tmp12 to i8*
  %13 = bitcast %"struct.boost::detail::out_edge_iter"* %ei_end to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %12, i8* %13, i32 8, i32 4, i1 false)
  %14 = bitcast %"struct.boost::detail::out_edge_iter"* %agg.tmp13 to i8*
  %15 = bitcast %"struct.boost::detail::out_edge_iter"* %ei_end to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %14, i8* %15, i32 8, i32 4, i1 false)
  invoke void @_ZSt9make_pairIN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_ESt4pairIT_T0_ESI_SJ_(%"struct.std::pair.36"* sret %agg.tmp, %"struct.boost::detail::out_edge_iter"* byval align 4 %agg.tmp12, %"struct.boost::detail::out_edge_iter"* byval align 4 %agg.tmp13)
          to label %invoke.cont14 unwind label %lpad

invoke.cont14:                                    ; preds = %if.then
  invoke void @_ZSt9make_pairIjSt4pairIN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EES0_IT_T0_ESJ_SK_(%"struct.std::pair.35"* sret %ref.tmp11, i32 %11, %"struct.std::pair.36"* byval align 4 %agg.tmp)
          to label %invoke.cont15 unwind label %lpad

invoke.cont15:                                    ; preds = %invoke.cont14
  invoke void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE9push_backERKSI_(%"class.std::vector.30"* %stack, %"struct.std::pair.35"* %ref.tmp11)
          to label %invoke.cont16 unwind label %lpad

invoke.cont16:                                    ; preds = %invoke.cont15
  br label %if.end

lpad:                                             ; preds = %invoke.cont100, %invoke.cont97, %while.end, %invoke.cont92, %invoke.cont91, %if.else89, %invoke.cont86, %invoke.cont85, %if.then83, %if.else79, %invoke.cont73, %invoke.cont72, %invoke.cont70, %invoke.cont68, %invoke.cont67, %invoke.cont64, %invoke.cont63, %invoke.cont62, %invoke.cont61, %invoke.cont58, %invoke.cont54, %invoke.cont53, %if.then51, %invoke.cont47, %invoke.cont45, %invoke.cont44, %invoke.cont41, %invoke.cont40, %while.body37, %while.cond34, %invoke.cont31, %invoke.cont30, %invoke.cont27, %while.body, %while.cond, %invoke.cont22, %invoke.cont21, %if.else, %invoke.cont15, %invoke.cont14, %if.then, %invoke.cont6, %invoke.cont5, %invoke.cont3, %invoke.cont2, %invoke.cont1, %invoke.cont, %entry
  %16 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %17 = extractvalue { i8*, i32 } %16, 0
  store i8* %17, i8** %exn.slot
  %18 = extractvalue { i8*, i32 } %16, 1
  store i32 %18, i32* %ehselector.slot
  invoke void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EED1Ev(%"class.std::vector.30"* %stack)
          to label %invoke.cont103 unwind label %terminate.lpad

if.else:                                          ; preds = %invoke.cont9
  %19 = load i32* %u.addr, align 4
  %20 = bitcast %"struct.boost::detail::out_edge_iter"* %agg.tmp19 to i8*
  %21 = bitcast %"struct.boost::detail::out_edge_iter"* %ei to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %20, i8* %21, i32 8, i32 4, i1 false)
  %22 = bitcast %"struct.boost::detail::out_edge_iter"* %agg.tmp20 to i8*
  %23 = bitcast %"struct.boost::detail::out_edge_iter"* %ei_end to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %22, i8* %23, i32 8, i32 4, i1 false)
  invoke void @_ZSt9make_pairIN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_ESt4pairIT_T0_ESI_SJ_(%"struct.std::pair.36"* sret %agg.tmp18, %"struct.boost::detail::out_edge_iter"* byval align 4 %agg.tmp19, %"struct.boost::detail::out_edge_iter"* byval align 4 %agg.tmp20)
          to label %invoke.cont21 unwind label %lpad

invoke.cont21:                                    ; preds = %if.else
  invoke void @_ZSt9make_pairIjSt4pairIN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EES0_IT_T0_ESJ_SK_(%"struct.std::pair.35"* sret %ref.tmp17, i32 %19, %"struct.std::pair.36"* byval align 4 %agg.tmp18)
          to label %invoke.cont22 unwind label %lpad

invoke.cont22:                                    ; preds = %invoke.cont21
  invoke void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE9push_backERKSI_(%"class.std::vector.30"* %stack, %"struct.std::pair.35"* %ref.tmp17)
          to label %invoke.cont23 unwind label %lpad

invoke.cont23:                                    ; preds = %invoke.cont22
  br label %if.end

if.end:                                           ; preds = %invoke.cont23, %invoke.cont16
  br label %while.cond

while.cond:                                       ; preds = %invoke.cont101, %if.end
  %call25 = invoke zeroext i1 @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE5emptyEv(%"class.std::vector.30"* %stack)
          to label %invoke.cont24 unwind label %lpad

invoke.cont24:                                    ; preds = %while.cond
  %lnot = xor i1 %call25, true
  br i1 %lnot, label %while.body, label %while.end102

while.body:                                       ; preds = %invoke.cont24
  %call28 = invoke %"struct.std::pair.35"* @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE4backEv(%"class.std::vector.30"* %stack)
          to label %invoke.cont27 unwind label %lpad

invoke.cont27:                                    ; preds = %while.body
  store %"struct.std::pair.35"* %call28, %"struct.std::pair.35"** %back, align 4
  %24 = load %"struct.std::pair.35"** %back, align 4
  %first = getelementptr inbounds %"struct.std::pair.35"* %24, i32 0, i32 0
  %25 = load i32* %first, align 4
  store i32 %25, i32* %u.addr, align 4
  invoke void @_ZN5boost6tuples3tieINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESH_EENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERSK_RSL_(%"class.boost::tuples::tuple.37"* sret %tmp29, %"struct.boost::detail::out_edge_iter"* %ei, %"struct.boost::detail::out_edge_iter"* %ei_end)
          to label %invoke.cont30 unwind label %lpad

invoke.cont30:                                    ; preds = %invoke.cont27
  %26 = load %"struct.std::pair.35"** %back, align 4
  %second = getelementptr inbounds %"struct.std::pair.35"* %26, i32 0, i32 1
  %call32 = invoke %"class.boost::tuples::tuple.37"* @_ZN5boost6tuples5tupleIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESI_NS0_9null_typeESJ_SJ_SJ_SJ_SJ_SJ_SJ_EaSISH_SH_EERSK_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple.37"* %tmp29, %"struct.std::pair.36"* %second)
          to label %invoke.cont31 unwind label %lpad

invoke.cont31:                                    ; preds = %invoke.cont30
  invoke void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE8pop_backEv(%"class.std::vector.30"* %stack)
          to label %invoke.cont33 unwind label %lpad

invoke.cont33:                                    ; preds = %invoke.cont31
  br label %while.cond34

while.cond34:                                     ; preds = %if.end96, %invoke.cont33
  %27 = bitcast %"struct.boost::detail::out_edge_iter"* %ei to %"class.boost::iterator_facade.28"*
  %28 = bitcast %"struct.boost::detail::out_edge_iter"* %ei_end to %"class.boost::iterator_facade.28"*
  %call36 = invoke zeroext i1 @_ZN5boostneINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iSG_SF_SH_SF_iEENS1_23enable_if_interoperableIT_T4_NS_3mpl6apply2INS1_12always_bool2ESJ_SK_E4typeEE4typeERKNS_15iterator_facadeISJ_T0_T1_T2_T3_EERKNSS_ISK_T5_T6_T7_T8_EE(%"class.boost::iterator_facade.28"* %27, %"class.boost::iterator_facade.28"* %28)
          to label %invoke.cont35 unwind label %lpad

invoke.cont35:                                    ; preds = %while.cond34
  br i1 %call36, label %while.body37, label %while.end

while.body37:                                     ; preds = %invoke.cont35
  %29 = bitcast %"struct.boost::detail::out_edge_iter"* %ei to %"class.boost::iterator_facade.28"*
  invoke void @_ZNK5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iEdeEv(%"class.boost::detail::edge_desc_impl"* sret %ref.tmp39, %"class.boost::iterator_facade.28"* %29)
          to label %invoke.cont40 unwind label %lpad

invoke.cont40:                                    ; preds = %while.body37
  %30 = bitcast %"class.boost::detail::edge_desc_impl"* %ref.tmp39 to %"struct.boost::detail::edge_base"*
  %31 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %call42 = invoke i32 @_ZN5boost6targetINS_12directed_tagEjNS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S6_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %30, %"class.boost::adjacency_list"* %31)
          to label %invoke.cont41 unwind label %lpad

invoke.cont41:                                    ; preds = %invoke.cont40
  store i32 %call42, i32* %v, align 4
  %32 = load %struct.edge_categorizer** %vis.addr, align 4
  %33 = bitcast %struct.edge_categorizer* %32 to %"class.boost::dfs_visitor"*
  %34 = bitcast %"struct.boost::detail::out_edge_iter"* %ei to %"class.boost::iterator_facade.28"*
  invoke void @_ZNK5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iEdeEv(%"class.boost::detail::edge_desc_impl"* sret %agg.tmp43, %"class.boost::iterator_facade.28"* %34)
          to label %invoke.cont44 unwind label %lpad

invoke.cont44:                                    ; preds = %invoke.cont41
  %35 = load %"class.boost::adjacency_list"** %g.addr, align 4
  invoke void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE12examine_edgeINS_6detail14edge_desc_implINS_12directed_tagEjEENS_14adjacency_listINS_4vecSESG_NS_9directedSENS_11no_propertyESI_SI_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %33, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp43, %"class.boost::adjacency_list"* %35)
          to label %invoke.cont45 unwind label %lpad

invoke.cont45:                                    ; preds = %invoke.cont44
  %36 = bitcast %"class.boost::shared_array_property_map"* %color to %"struct.boost::put_get_helper"*
  %call48 = invoke i32* @_ZN5boost3getINS_25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEERS2_jEET0_RKNS_14put_get_helperIS8_T_EERKT1_(%"struct.boost::put_get_helper"* %36, i32* %v)
          to label %invoke.cont47 unwind label %lpad

invoke.cont47:                                    ; preds = %invoke.cont45
  %37 = load i32* %call48
  store i32 %37, i32* %v_color, align 4
  %38 = load i32* %v_color, align 4
  %call50 = invoke i32 @_ZN5boost12color_traitsINS_18default_color_typeEE5whiteEv()
          to label %invoke.cont49 unwind label %lpad

invoke.cont49:                                    ; preds = %invoke.cont47
  %cmp = icmp eq i32 %38, %call50
  br i1 %cmp, label %if.then51, label %if.else79

if.then51:                                        ; preds = %invoke.cont49
  %39 = load %struct.edge_categorizer** %vis.addr, align 4
  %40 = bitcast %"struct.boost::detail::out_edge_iter"* %ei to %"class.boost::iterator_facade.28"*
  invoke void @_ZNK5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iEdeEv(%"class.boost::detail::edge_desc_impl"* sret %agg.tmp52, %"class.boost::iterator_facade.28"* %40)
          to label %invoke.cont53 unwind label %lpad

invoke.cont53:                                    ; preds = %if.then51
  %41 = load %"class.boost::adjacency_list"** %g.addr, align 4
  invoke void @_ZN16edge_categorizerISt4pairIN5boost12time_stamperIPjiNS1_18on_discover_vertexEEENS2_IS3_iNS1_16on_finish_vertexEEEEE9tree_edgeINS1_6detail14edge_desc_implINS1_12directed_tagEjEEKNS1_14adjacency_listINS1_4vecSESG_NS1_9directedSENS1_11no_propertyESI_SI_NS1_5listSEEEEEvT_RT0_(%struct.edge_categorizer* %39, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp52, %"class.boost::adjacency_list"* %41)
          to label %invoke.cont54 unwind label %lpad

invoke.cont54:                                    ; preds = %invoke.cont53
  %42 = load i32* %u.addr, align 4
  %43 = bitcast %"struct.boost::detail::out_edge_iter"* %ei to %"class.boost::iterator_facade.28"*
  %call59 = invoke %"struct.boost::detail::out_edge_iter"* @_ZN5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iEppEv(%"class.boost::iterator_facade.28"* %43)
          to label %invoke.cont58 unwind label %lpad

invoke.cont58:                                    ; preds = %invoke.cont54
  %44 = bitcast %"struct.boost::detail::out_edge_iter"* %agg.tmp57 to i8*
  %45 = bitcast %"struct.boost::detail::out_edge_iter"* %call59 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %44, i8* %45, i32 8, i32 4, i1 false)
  %46 = bitcast %"struct.boost::detail::out_edge_iter"* %agg.tmp60 to i8*
  %47 = bitcast %"struct.boost::detail::out_edge_iter"* %ei_end to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %46, i8* %47, i32 8, i32 4, i1 false)
  invoke void @_ZSt9make_pairIN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_ESt4pairIT_T0_ESI_SJ_(%"struct.std::pair.36"* sret %agg.tmp56, %"struct.boost::detail::out_edge_iter"* byval align 4 %agg.tmp57, %"struct.boost::detail::out_edge_iter"* byval align 4 %agg.tmp60)
          to label %invoke.cont61 unwind label %lpad

invoke.cont61:                                    ; preds = %invoke.cont58
  invoke void @_ZSt9make_pairIjSt4pairIN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EES0_IT_T0_ESJ_SK_(%"struct.std::pair.35"* sret %ref.tmp55, i32 %42, %"struct.std::pair.36"* byval align 4 %agg.tmp56)
          to label %invoke.cont62 unwind label %lpad

invoke.cont62:                                    ; preds = %invoke.cont61
  invoke void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE9push_backERKSI_(%"class.std::vector.30"* %stack, %"struct.std::pair.35"* %ref.tmp55)
          to label %invoke.cont63 unwind label %lpad

invoke.cont63:                                    ; preds = %invoke.cont62
  %48 = load i32* %v, align 4
  store i32 %48, i32* %u.addr, align 4
  %49 = bitcast %"class.boost::shared_array_property_map"* %color to %"struct.boost::put_get_helper"*
  %50 = load i32* %u.addr, align 4
  %call65 = invoke i32 @_ZN5boost12color_traitsINS_18default_color_typeEE4grayEv()
          to label %invoke.cont64 unwind label %lpad

invoke.cont64:                                    ; preds = %invoke.cont63
  store i32 %call65, i32* %ref.tmp66, align 4
  invoke void @_ZN5boost3putINS_25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEERS2_jS2_EEvRKNS_14put_get_helperIT0_T_EET1_RKT2_(%"struct.boost::put_get_helper"* %49, i32 %50, i32* %ref.tmp66)
          to label %invoke.cont67 unwind label %lpad

invoke.cont67:                                    ; preds = %invoke.cont64
  %51 = load %struct.edge_categorizer** %vis.addr, align 4
  %52 = bitcast %struct.edge_categorizer* %51 to %"class.boost::dfs_visitor"*
  %53 = load i32* %u.addr, align 4
  %54 = load %"class.boost::adjacency_list"** %g.addr, align 4
  invoke void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE15discover_vertexIjNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %52, i32 %53, %"class.boost::adjacency_list"* %54)
          to label %invoke.cont68 unwind label %lpad

invoke.cont68:                                    ; preds = %invoke.cont67
  invoke void @_ZN5boost6tuples3tieINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESH_EENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERSK_RSL_(%"class.boost::tuples::tuple.37"* sret %tmp69, %"struct.boost::detail::out_edge_iter"* %ei, %"struct.boost::detail::out_edge_iter"* %ei_end)
          to label %invoke.cont70 unwind label %lpad

invoke.cont70:                                    ; preds = %invoke.cont68
  %55 = load i32* %u.addr, align 4
  %56 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %57 = bitcast %"class.boost::adjacency_list"* %56 to %"struct.boost::adj_list_helper"*
  invoke void @_ZN5boost9out_edgesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EEEESt4pairINT_17out_edge_iteratorESF_ENSE_17vertex_descriptorERKNS_15adj_list_helperISE_T0_EE(%"struct.std::pair.36"* sret %ref.tmp71, i32 %55, %"struct.boost::adj_list_helper"* %57)
          to label %invoke.cont72 unwind label %lpad

invoke.cont72:                                    ; preds = %invoke.cont70
  %call74 = invoke %"class.boost::tuples::tuple.37"* @_ZN5boost6tuples5tupleIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESI_NS0_9null_typeESJ_SJ_SJ_SJ_SJ_SJ_SJ_EaSISH_SH_EERSK_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple.37"* %tmp69, %"struct.std::pair.36"* %ref.tmp71)
          to label %invoke.cont73 unwind label %lpad

invoke.cont73:                                    ; preds = %invoke.cont72
  %58 = load %"struct.boost::detail::nontruth2"** %fn, align 4
  %59 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %call76 = invoke zeroext i1 @_ZNK5boost6detail9nontruth2clIjNS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEEEEbRKT_RKT0_(%"struct.boost::detail::nontruth2"* %58, i32* %u.addr, %"class.boost::adjacency_list"* %59)
          to label %invoke.cont75 unwind label %lpad

invoke.cont75:                                    ; preds = %invoke.cont73
  br i1 %call76, label %if.then77, label %if.end78

if.then77:                                        ; preds = %invoke.cont75
  %60 = bitcast %"struct.boost::detail::out_edge_iter"* %ei to i8*
  %61 = bitcast %"struct.boost::detail::out_edge_iter"* %ei_end to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %60, i8* %61, i32 8, i32 4, i1 false)
  br label %if.end78

if.end78:                                         ; preds = %if.then77, %invoke.cont75
  br label %if.end96

if.else79:                                        ; preds = %invoke.cont49
  %62 = load i32* %v_color, align 4
  %call81 = invoke i32 @_ZN5boost12color_traitsINS_18default_color_typeEE4grayEv()
          to label %invoke.cont80 unwind label %lpad

invoke.cont80:                                    ; preds = %if.else79
  %cmp82 = icmp eq i32 %62, %call81
  br i1 %cmp82, label %if.then83, label %if.else89

if.then83:                                        ; preds = %invoke.cont80
  %63 = load %struct.edge_categorizer** %vis.addr, align 4
  %64 = bitcast %"struct.boost::detail::out_edge_iter"* %ei to %"class.boost::iterator_facade.28"*
  invoke void @_ZNK5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iEdeEv(%"class.boost::detail::edge_desc_impl"* sret %agg.tmp84, %"class.boost::iterator_facade.28"* %64)
          to label %invoke.cont85 unwind label %lpad

invoke.cont85:                                    ; preds = %if.then83
  %65 = load %"class.boost::adjacency_list"** %g.addr, align 4
  invoke void @_ZN16edge_categorizerISt4pairIN5boost12time_stamperIPjiNS1_18on_discover_vertexEEENS2_IS3_iNS1_16on_finish_vertexEEEEE9back_edgeINS1_6detail14edge_desc_implINS1_12directed_tagEjEEKNS1_14adjacency_listINS1_4vecSESG_NS1_9directedSENS1_11no_propertyESI_SI_NS1_5listSEEEEEvT_RT0_(%struct.edge_categorizer* %63, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp84, %"class.boost::adjacency_list"* %65)
          to label %invoke.cont86 unwind label %lpad

invoke.cont86:                                    ; preds = %invoke.cont85
  %66 = bitcast %"struct.boost::detail::out_edge_iter"* %ei to %"class.boost::iterator_facade.28"*
  %call88 = invoke %"struct.boost::detail::out_edge_iter"* @_ZN5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iEppEv(%"class.boost::iterator_facade.28"* %66)
          to label %invoke.cont87 unwind label %lpad

invoke.cont87:                                    ; preds = %invoke.cont86
  br label %if.end95

if.else89:                                        ; preds = %invoke.cont80
  %67 = load %struct.edge_categorizer** %vis.addr, align 4
  %68 = bitcast %"struct.boost::detail::out_edge_iter"* %ei to %"class.boost::iterator_facade.28"*
  invoke void @_ZNK5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iEdeEv(%"class.boost::detail::edge_desc_impl"* sret %agg.tmp90, %"class.boost::iterator_facade.28"* %68)
          to label %invoke.cont91 unwind label %lpad

invoke.cont91:                                    ; preds = %if.else89
  %69 = load %"class.boost::adjacency_list"** %g.addr, align 4
  invoke void @_ZN16edge_categorizerISt4pairIN5boost12time_stamperIPjiNS1_18on_discover_vertexEEENS2_IS3_iNS1_16on_finish_vertexEEEEE21forward_or_cross_edgeINS1_6detail14edge_desc_implINS1_12directed_tagEjEEKNS1_14adjacency_listINS1_4vecSESG_NS1_9directedSENS1_11no_propertyESI_SI_NS1_5listSEEEEEvT_RT0_(%struct.edge_categorizer* %67, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp90, %"class.boost::adjacency_list"* %69)
          to label %invoke.cont92 unwind label %lpad

invoke.cont92:                                    ; preds = %invoke.cont91
  %70 = bitcast %"struct.boost::detail::out_edge_iter"* %ei to %"class.boost::iterator_facade.28"*
  %call94 = invoke %"struct.boost::detail::out_edge_iter"* @_ZN5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iEppEv(%"class.boost::iterator_facade.28"* %70)
          to label %invoke.cont93 unwind label %lpad

invoke.cont93:                                    ; preds = %invoke.cont92
  br label %if.end95

if.end95:                                         ; preds = %invoke.cont93, %invoke.cont87
  br label %if.end96

if.end96:                                         ; preds = %if.end95, %if.end78
  br label %while.cond34

while.end:                                        ; preds = %invoke.cont35
  %71 = bitcast %"class.boost::shared_array_property_map"* %color to %"struct.boost::put_get_helper"*
  %72 = load i32* %u.addr, align 4
  %call98 = invoke i32 @_ZN5boost12color_traitsINS_18default_color_typeEE5blackEv()
          to label %invoke.cont97 unwind label %lpad

invoke.cont97:                                    ; preds = %while.end
  store i32 %call98, i32* %ref.tmp99, align 4
  invoke void @_ZN5boost3putINS_25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEERS2_jS2_EEvRKNS_14put_get_helperIT0_T_EET1_RKT2_(%"struct.boost::put_get_helper"* %71, i32 %72, i32* %ref.tmp99)
          to label %invoke.cont100 unwind label %lpad

invoke.cont100:                                   ; preds = %invoke.cont97
  %73 = load %struct.edge_categorizer** %vis.addr, align 4
  %74 = bitcast %struct.edge_categorizer* %73 to %"class.boost::dfs_visitor"*
  %75 = load i32* %u.addr, align 4
  %76 = load %"class.boost::adjacency_list"** %g.addr, align 4
  invoke void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE13finish_vertexIjNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %74, i32 %75, %"class.boost::adjacency_list"* %76)
          to label %invoke.cont101 unwind label %lpad

invoke.cont101:                                   ; preds = %invoke.cont100
  br label %while.cond

while.end102:                                     ; preds = %invoke.cont24
  call void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EED1Ev(%"class.std::vector.30"* %stack)
  ret void

invoke.cont103:                                   ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont103
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val104 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val104

terminate.lpad:                                   ; preds = %lpad
  %77 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEC1ERKS5_(%"class.boost::shared_array_property_map"* %this, %"class.boost::shared_array_property_map"*) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array_property_map"*, align 4
  %.addr = alloca %"class.boost::shared_array_property_map"*, align 4
  store %"class.boost::shared_array_property_map"* %this, %"class.boost::shared_array_property_map"** %this.addr, align 4
  store %"class.boost::shared_array_property_map"* %0, %"class.boost::shared_array_property_map"** %.addr, align 4
  %this1 = load %"class.boost::shared_array_property_map"** %this.addr
  %1 = load %"class.boost::shared_array_property_map"** %.addr
  call void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEC2ERKS5_(%"class.boost::shared_array_property_map"* %this1, %"class.boost::shared_array_property_map"* %1)
  ret void
}

define linkonce_odr i32* @_ZN5boost3getINS_25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEERS2_jEET0_RKNS_14put_get_helperIS8_T_EERKT1_(%"struct.boost::put_get_helper"* %pa, i32* %k) inlinehint {
entry:
  %pa.addr = alloca %"struct.boost::put_get_helper"*, align 4
  %k.addr = alloca i32*, align 4
  %v = alloca i32*, align 4
  store %"struct.boost::put_get_helper"* %pa, %"struct.boost::put_get_helper"** %pa.addr, align 4
  store i32* %k, i32** %k.addr, align 4
  %0 = load %"struct.boost::put_get_helper"** %pa.addr, align 4
  %1 = bitcast %"struct.boost::put_get_helper"* %0 to %"class.boost::shared_array_property_map"*
  %2 = load i32** %k.addr, align 4
  %3 = load i32* %2, align 4
  %call = call i32* @_ZNK5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEixEj(%"class.boost::shared_array_property_map"* %1, i32 %3)
  store i32* %call, i32** %v, align 4
  %4 = load i32** %v, align 4
  ret i32* %4
}

define linkonce_odr i32* @_ZNK5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEixEj(%"class.boost::shared_array_property_map"* %this, i32 %v) inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array_property_map"*, align 4
  %v.addr = alloca i32, align 4
  store %"class.boost::shared_array_property_map"* %this, %"class.boost::shared_array_property_map"** %this.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  %this1 = load %"class.boost::shared_array_property_map"** %this.addr
  %data = getelementptr inbounds %"class.boost::shared_array_property_map"* %this1, i32 0, i32 0
  %index = getelementptr inbounds %"class.boost::shared_array_property_map"* %this1, i32 0, i32 1
  %0 = bitcast %"struct.boost::vec_adj_list_vertex_id_map"* %index to %"struct.boost::put_get_helper.16"*
  %call = call i32 @_ZN5boost3getINS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjjEET0_RKNS_14put_get_helperIS4_T_EERKT1_(%"struct.boost::put_get_helper.16"* %0, i32* %v.addr)
  %call2 = call i32* @_ZNK5boost12shared_arrayINS_18default_color_typeEEixEi(%"class.boost::shared_array"* %data, i32 %call)
  ret i32* %call2
}

define linkonce_odr i32* @_ZNK5boost12shared_arrayINS_18default_color_typeEEixEi(%"class.boost::shared_array"* %this, i32 %i) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array"*, align 4
  %i.addr = alloca i32, align 4
  store %"class.boost::shared_array"* %this, %"class.boost::shared_array"** %this.addr, align 4
  store i32 %i, i32* %i.addr, align 4
  %this1 = load %"class.boost::shared_array"** %this.addr
  %px = getelementptr inbounds %"class.boost::shared_array"* %this1, i32 0, i32 0
  %0 = load i32** %px, align 4
  %cmp = icmp ne i32* %0, null
  br i1 %cmp, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  br label %cond.end

cond.false:                                       ; preds = %entry
  call void @__assert_fail(i8* getelementptr inbounds ([8 x i8]* @.str2, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8]* @.str3, i32 0, i32 0), i32 105, i8* getelementptr inbounds ([116 x i8]* @__PRETTY_FUNCTION__._ZNK5boost12shared_arrayINS_18default_color_typeEEixEi, i32 0, i32 0)) noreturn nounwind
  unreachable
                                                  ; No predecessors!
  br label %cond.end

cond.end:                                         ; preds = %1, %cond.true
  %2 = load i32* %i.addr, align 4
  %cmp2 = icmp sge i32 %2, 0
  br i1 %cmp2, label %cond.true3, label %cond.false4

cond.true3:                                       ; preds = %cond.end
  br label %cond.end5

cond.false4:                                      ; preds = %cond.end
  call void @__assert_fail(i8* getelementptr inbounds ([7 x i8]* @.str4, i32 0, i32 0), i8* getelementptr inbounds ([59 x i8]* @.str3, i32 0, i32 0), i32 106, i8* getelementptr inbounds ([116 x i8]* @__PRETTY_FUNCTION__._ZNK5boost12shared_arrayINS_18default_color_typeEEixEi, i32 0, i32 0)) noreturn nounwind
  unreachable
                                                  ; No predecessors!
  br label %cond.end5

cond.end5:                                        ; preds = %3, %cond.true3
  %4 = load i32* %i.addr, align 4
  %px6 = getelementptr inbounds %"class.boost::shared_array"* %this1, i32 0, i32 0
  %5 = load i32** %px6, align 4
  %arrayidx = getelementptr inbounds i32* %5, i32 %4
  ret i32* %arrayidx
}

define linkonce_odr i32 @_ZN5boost3getINS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEjjEET0_RKNS_14put_get_helperIS4_T_EERKT1_(%"struct.boost::put_get_helper.16"* %pa, i32* %k) inlinehint {
entry:
  %pa.addr = alloca %"struct.boost::put_get_helper.16"*, align 4
  %k.addr = alloca i32*, align 4
  %v = alloca i32, align 4
  store %"struct.boost::put_get_helper.16"* %pa, %"struct.boost::put_get_helper.16"** %pa.addr, align 4
  store i32* %k, i32** %k.addr, align 4
  %0 = load %"struct.boost::put_get_helper.16"** %pa.addr, align 4
  %1 = bitcast %"struct.boost::put_get_helper.16"* %0 to %"struct.boost::vec_adj_list_vertex_id_map"*
  %2 = load i32** %k.addr, align 4
  %3 = load i32* %2, align 4
  %call = call i32 @_ZNK5boost26vec_adj_list_vertex_id_mapINS_11no_propertyEjEixEj(%"struct.boost::vec_adj_list_vertex_id_map"* %1, i32 %3)
  store i32 %call, i32* %v, align 4
  %4 = load i32* %v, align 4
  ret i32 %4
}

define linkonce_odr i32 @_ZNK5boost26vec_adj_list_vertex_id_mapINS_11no_propertyEjEixEj(%"struct.boost::vec_adj_list_vertex_id_map"* %this, i32 %v) nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::vec_adj_list_vertex_id_map"*, align 4
  %v.addr = alloca i32, align 4
  store %"struct.boost::vec_adj_list_vertex_id_map"* %this, %"struct.boost::vec_adj_list_vertex_id_map"** %this.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  %this1 = load %"struct.boost::vec_adj_list_vertex_id_map"** %this.addr
  %0 = load i32* %v.addr, align 4
  ret i32 %0
}

declare void @__assert_fail(i8*, i8*, i32, i8*) noreturn nounwind

define linkonce_odr void @_ZN5boost25shared_array_property_mapINS_18default_color_typeENS_26vec_adj_list_vertex_id_mapINS_11no_propertyEjEEEC2ERKS5_(%"class.boost::shared_array_property_map"* %this, %"class.boost::shared_array_property_map"*) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array_property_map"*, align 4
  %.addr = alloca %"class.boost::shared_array_property_map"*, align 4
  store %"class.boost::shared_array_property_map"* %this, %"class.boost::shared_array_property_map"** %this.addr, align 4
  store %"class.boost::shared_array_property_map"* %0, %"class.boost::shared_array_property_map"** %.addr, align 4
  %this1 = load %"class.boost::shared_array_property_map"** %this.addr
  %1 = bitcast %"class.boost::shared_array_property_map"* %this1 to %"struct.boost::put_get_helper"*
  %2 = load %"class.boost::shared_array_property_map"** %.addr, align 4
  %3 = bitcast %"class.boost::shared_array_property_map"* %2 to %"struct.boost::put_get_helper"*
  %data = getelementptr inbounds %"class.boost::shared_array_property_map"* %this1, i32 0, i32 0
  %4 = load %"class.boost::shared_array_property_map"** %.addr, align 4
  %data2 = getelementptr inbounds %"class.boost::shared_array_property_map"* %4, i32 0, i32 0
  call void @_ZN5boost12shared_arrayINS_18default_color_typeEEC1ERKS2_(%"class.boost::shared_array"* %data, %"class.boost::shared_array"* %data2)
  %index = getelementptr inbounds %"class.boost::shared_array_property_map"* %this1, i32 0, i32 1
  %5 = load %"class.boost::shared_array_property_map"** %.addr, align 4
  %index3 = getelementptr inbounds %"class.boost::shared_array_property_map"* %5, i32 0, i32 1
  ret void
}

define linkonce_odr void @_ZN5boost12shared_arrayINS_18default_color_typeEEC1ERKS2_(%"class.boost::shared_array"* %this, %"class.boost::shared_array"*) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array"*, align 4
  %.addr = alloca %"class.boost::shared_array"*, align 4
  store %"class.boost::shared_array"* %this, %"class.boost::shared_array"** %this.addr, align 4
  store %"class.boost::shared_array"* %0, %"class.boost::shared_array"** %.addr, align 4
  %this1 = load %"class.boost::shared_array"** %this.addr
  %1 = load %"class.boost::shared_array"** %.addr
  call void @_ZN5boost12shared_arrayINS_18default_color_typeEEC2ERKS2_(%"class.boost::shared_array"* %this1, %"class.boost::shared_array"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost12shared_arrayINS_18default_color_typeEEC2ERKS2_(%"class.boost::shared_array"* %this, %"class.boost::shared_array"*) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::shared_array"*, align 4
  %.addr = alloca %"class.boost::shared_array"*, align 4
  store %"class.boost::shared_array"* %this, %"class.boost::shared_array"** %this.addr, align 4
  store %"class.boost::shared_array"* %0, %"class.boost::shared_array"** %.addr, align 4
  %this1 = load %"class.boost::shared_array"** %this.addr
  %px = getelementptr inbounds %"class.boost::shared_array"* %this1, i32 0, i32 0
  %1 = load %"class.boost::shared_array"** %.addr, align 4
  %px2 = getelementptr inbounds %"class.boost::shared_array"* %1, i32 0, i32 0
  %2 = load i32** %px2, align 4
  store i32* %2, i32** %px, align 4
  %pn = getelementptr inbounds %"class.boost::shared_array"* %this1, i32 0, i32 1
  %3 = load %"class.boost::shared_array"** %.addr, align 4
  %pn3 = getelementptr inbounds %"class.boost::shared_array"* %3, i32 0, i32 1
  call void @_ZN5boost6detail12shared_countC1ERKS1_(%"class.boost::detail::shared_count"* %pn, %"class.boost::detail::shared_count"* %pn3)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12shared_countC1ERKS1_(%"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"* %r) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::shared_count"*, align 4
  %r.addr = alloca %"class.boost::detail::shared_count"*, align 4
  store %"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"** %this.addr, align 4
  store %"class.boost::detail::shared_count"* %r, %"class.boost::detail::shared_count"** %r.addr, align 4
  %this1 = load %"class.boost::detail::shared_count"** %this.addr
  %0 = load %"class.boost::detail::shared_count"** %r.addr
  call void @_ZN5boost6detail12shared_countC2ERKS1_(%"class.boost::detail::shared_count"* %this1, %"class.boost::detail::shared_count"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12shared_countC2ERKS1_(%"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"* %r) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::shared_count"*, align 4
  %r.addr = alloca %"class.boost::detail::shared_count"*, align 4
  store %"class.boost::detail::shared_count"* %this, %"class.boost::detail::shared_count"** %this.addr, align 4
  store %"class.boost::detail::shared_count"* %r, %"class.boost::detail::shared_count"** %r.addr, align 4
  %this1 = load %"class.boost::detail::shared_count"** %this.addr
  %pi_ = getelementptr inbounds %"class.boost::detail::shared_count"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::shared_count"** %r.addr, align 4
  %pi_2 = getelementptr inbounds %"class.boost::detail::shared_count"* %0, i32 0, i32 0
  %1 = load %"class.boost::detail::sp_counted_base"** %pi_2, align 4
  store %"class.boost::detail::sp_counted_base"* %1, %"class.boost::detail::sp_counted_base"** %pi_, align 4
  %pi_3 = getelementptr inbounds %"class.boost::detail::shared_count"* %this1, i32 0, i32 0
  %2 = load %"class.boost::detail::sp_counted_base"** %pi_3, align 4
  %cmp = icmp ne %"class.boost::detail::sp_counted_base"* %2, null
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %pi_4 = getelementptr inbounds %"class.boost::detail::shared_count"* %this1, i32 0, i32 0
  %3 = load %"class.boost::detail::sp_counted_base"** %pi_4, align 4
  call void @_ZN5boost6detail15sp_counted_base12add_ref_copyEv(%"class.boost::detail::sp_counted_base"* %3)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr void @_ZN5boost6detail15sp_counted_base12add_ref_copyEv(%"class.boost::detail::sp_counted_base"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::sp_counted_base"*, align 4
  store %"class.boost::detail::sp_counted_base"* %this, %"class.boost::detail::sp_counted_base"** %this.addr, align 4
  %this1 = load %"class.boost::detail::sp_counted_base"** %this.addr
  %use_count_ = getelementptr inbounds %"class.boost::detail::sp_counted_base"* %this1, i32 0, i32 1
  call void @_ZN5boost6detail16atomic_incrementEPi(i32* %use_count_)
  ret void
}

define linkonce_odr void @_ZN5boost6detail16atomic_incrementEPi(i32* %pw) nounwind inlinehint {
entry:
  %pw.addr = alloca i32*, align 4
  store i32* %pw, i32** %pw.addr, align 4
  %0 = load i32** %pw.addr, align 4
  %1 = load i32** %pw.addr, align 4
  call void asm "lock\0A\09incl $0", "=*m,*m,~{cc},~{dirflag},~{fpsr},~{flags}"(i32* %0, i32* %1) nounwind, !srcloc !1
  ret void
}

define linkonce_odr void @_ZN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS0_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEjNS0_14edge_desc_implINS_12directed_tagEjEEiEC1Ev(%"struct.boost::detail::out_edge_iter"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  store %"struct.boost::detail::out_edge_iter"* %this, %"struct.boost::detail::out_edge_iter"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::out_edge_iter"** %this.addr
  call void @_ZN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS0_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEjNS0_14edge_desc_implINS_12directed_tagEjEEiEC2Ev(%"struct.boost::detail::out_edge_iter"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EEC1Ev(%"class.std::vector.30"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  call void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EEC2Ev(%"class.std::vector.30"* %this1)
  ret void
}

define linkonce_odr i32 @_ZN5boost12color_traitsINS_18default_color_typeEE4grayEv() nounwind align 2 {
entry:
  ret i32 1
}

define linkonce_odr void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE15discover_vertexIjNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %this, i32 %u, %"class.boost::adjacency_list"* %g) align 2 {
entry:
  %this.addr = alloca %"class.boost::dfs_visitor"*, align 4
  %u.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"struct.boost::on_discover_vertex", align 1
  store %"class.boost::dfs_visitor"* %this, %"class.boost::dfs_visitor"** %this.addr, align 4
  store i32 %u, i32* %u.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %this1 = load %"class.boost::dfs_visitor"** %this.addr
  %m_vis = getelementptr inbounds %"class.boost::dfs_visitor"* %this1, i32 0, i32 0
  %0 = load i32* %u.addr, align 4
  %1 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES8_NS_9directedSENS_11no_propertyESA_SA_NS_5listSEEES3_EEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %m_vis, i32 %0, %"class.boost::adjacency_list"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples3tieINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESH_EENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERSK_RSL_(%"class.boost::tuples::tuple.37"* noalias sret %agg.result, %"struct.boost::detail::out_edge_iter"* %t0, %"struct.boost::detail::out_edge_iter"* %t1) inlinehint {
entry:
  %t0.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %t1.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  store %"struct.boost::detail::out_edge_iter"* %t0, %"struct.boost::detail::out_edge_iter"** %t0.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %t1, %"struct.boost::detail::out_edge_iter"** %t1.addr, align 4
  %0 = load %"struct.boost::detail::out_edge_iter"** %t0.addr, align 4
  %1 = load %"struct.boost::detail::out_edge_iter"** %t1.addr, align 4
  call void @_ZN5boost6tuples5tupleIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESI_NS0_9null_typeESJ_SJ_SJ_SJ_SJ_SJ_SJ_EC1ESI_SI_(%"class.boost::tuples::tuple.37"* %agg.result, %"struct.boost::detail::out_edge_iter"* %0, %"struct.boost::detail::out_edge_iter"* %1)
  ret void
}

define linkonce_odr %"class.boost::tuples::tuple.37"* @_ZN5boost6tuples5tupleIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESI_NS0_9null_typeESJ_SJ_SJ_SJ_SJ_SJ_SJ_EaSISH_SH_EERSK_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple.37"* %this, %"struct.std::pair.36"* %k) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple.37"*, align 4
  %k.addr = alloca %"struct.std::pair.36"*, align 4
  store %"class.boost::tuples::tuple.37"* %this, %"class.boost::tuples::tuple.37"** %this.addr, align 4
  store %"struct.std::pair.36"* %k, %"struct.std::pair.36"** %k.addr, align 4
  %this1 = load %"class.boost::tuples::tuple.37"** %this.addr
  %0 = bitcast %"class.boost::tuples::tuple.37"* %this1 to %"struct.boost::tuples::cons.38"*
  %head = getelementptr inbounds %"struct.boost::tuples::cons.38"* %0, i32 0, i32 0
  %ref = load %"struct.boost::detail::out_edge_iter"** %head, align 4
  %1 = load %"struct.std::pair.36"** %k.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.36"* %1, i32 0, i32 0
  %2 = bitcast %"struct.boost::detail::out_edge_iter"* %ref to i8*
  %3 = bitcast %"struct.boost::detail::out_edge_iter"* %first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 8, i32 4, i1 false)
  %4 = bitcast %"class.boost::tuples::tuple.37"* %this1 to %"struct.boost::tuples::cons.38"*
  %tail = getelementptr inbounds %"struct.boost::tuples::cons.38"* %4, i32 0, i32 1
  %head2 = getelementptr inbounds %"struct.boost::tuples::cons.39"* %tail, i32 0, i32 0
  %ref3 = load %"struct.boost::detail::out_edge_iter"** %head2, align 4
  %5 = load %"struct.std::pair.36"** %k.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.36"* %5, i32 0, i32 1
  %6 = bitcast %"struct.boost::detail::out_edge_iter"* %ref3 to i8*
  %7 = bitcast %"struct.boost::detail::out_edge_iter"* %second to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 8, i32 4, i1 false)
  ret %"class.boost::tuples::tuple.37"* %this1
}

define linkonce_odr void @_ZN5boost9out_edgesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EEEESt4pairINT_17out_edge_iteratorESF_ENSE_17vertex_descriptorERKNS_15adj_list_helperISE_T0_EE(%"struct.std::pair.36"* noalias sret %agg.result, i32 %u, %"struct.boost::adj_list_helper"* %g_) inlinehint {
entry:
  %u.addr = alloca i32, align 4
  %g_.addr = alloca %"struct.boost::adj_list_helper"*, align 4
  %cg = alloca %"class.boost::adjacency_list"*, align 4
  %g = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"struct.boost::detail::out_edge_iter", align 4
  %ref.tmp = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  %agg.tmp1 = alloca %"struct.boost::detail::out_edge_iter", align 4
  %ref.tmp2 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  store i32 %u, i32* %u.addr, align 4
  store %"struct.boost::adj_list_helper"* %g_, %"struct.boost::adj_list_helper"** %g_.addr, align 4
  %0 = load %"struct.boost::adj_list_helper"** %g_.addr, align 4
  %1 = bitcast %"struct.boost::adj_list_helper"* %0 to %"class.boost::adjacency_list"*
  store %"class.boost::adjacency_list"* %1, %"class.boost::adjacency_list"** %cg, align 4
  %2 = load %"class.boost::adjacency_list"** %cg, align 4
  store %"class.boost::adjacency_list"* %2, %"class.boost::adjacency_list"** %g, align 4
  %3 = load %"class.boost::adjacency_list"** %g, align 4
  %4 = bitcast %"class.boost::adjacency_list"* %3 to %"class.boost::vec_adj_list_impl"*
  %5 = load i32* %u.addr, align 4
  %call = call %"class.std::vector.11"* @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEE13out_edge_listEj(%"class.boost::vec_adj_list_impl"* %4, i32 %5)
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.29"* sret %ref.tmp, %"class.std::vector.11"* %call)
  call void @_ZN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS0_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEjNS0_14edge_desc_implINS_12directed_tagEjEEiEC1ERKSB_RKj(%"struct.boost::detail::out_edge_iter"* %agg.tmp, %"class.__gnu_cxx::__normal_iterator.29"* %ref.tmp, i32* %u.addr)
  %6 = load %"class.boost::adjacency_list"** %g, align 4
  %7 = bitcast %"class.boost::adjacency_list"* %6 to %"class.boost::vec_adj_list_impl"*
  %8 = load i32* %u.addr, align 4
  %call3 = call %"class.std::vector.11"* @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEE13out_edge_listEj(%"class.boost::vec_adj_list_impl"* %7, i32 %8)
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator.29"* sret %ref.tmp2, %"class.std::vector.11"* %call3)
  call void @_ZN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS0_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEjNS0_14edge_desc_implINS_12directed_tagEjEEiEC1ERKSB_RKj(%"struct.boost::detail::out_edge_iter"* %agg.tmp1, %"class.__gnu_cxx::__normal_iterator.29"* %ref.tmp2, i32* %u.addr)
  call void @_ZSt9make_pairIN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_ESt4pairIT_T0_ESI_SJ_(%"struct.std::pair.36"* sret %agg.result, %"struct.boost::detail::out_edge_iter"* byval align 4 %agg.tmp, %"struct.boost::detail::out_edge_iter"* byval align 4 %agg.tmp1)
  ret void
}

define linkonce_odr zeroext i1 @_ZNK5boost6detail9nontruth2clIjNS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEEEEbRKT_RKT0_(%"struct.boost::detail::nontruth2"* %this, i32*, %"class.boost::adjacency_list"*) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::nontruth2"*, align 4
  %.addr = alloca i32*, align 4
  %.addr1 = alloca %"class.boost::adjacency_list"*, align 4
  store %"struct.boost::detail::nontruth2"* %this, %"struct.boost::detail::nontruth2"** %this.addr, align 4
  store i32* %0, i32** %.addr, align 4
  store %"class.boost::adjacency_list"* %1, %"class.boost::adjacency_list"** %.addr1, align 4
  %this2 = load %"struct.boost::detail::nontruth2"** %this.addr
  ret i1 false
}

define linkonce_odr void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE9push_backERKSI_(%"class.std::vector.30"* %this, %"struct.std::pair.35"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  %__x.addr = alloca %"struct.std::pair.35"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.41", align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  store %"struct.std::pair.35"* %__x, %"struct.std::pair.35"** %__x.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  %0 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"struct.std::pair.35"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.31"* %2, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %3 = load %"struct.std::pair.35"** %_M_end_of_storage, align 4
  %cmp = icmp ne %"struct.std::pair.35"* %1, %3
  br i1 %cmp, label %if.then, label %if.else

if.then:                                          ; preds = %entry
  %4 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.31"* %4, i32 0, i32 0
  %5 = bitcast %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl3 to %"class.__gnu_cxx::new_allocator.33"*
  %6 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl4 = getelementptr inbounds %"struct.std::_Vector_base.31"* %6, i32 0, i32 0
  %_M_finish5 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl4, i32 0, i32 1
  %7 = load %"struct.std::pair.35"** %_M_finish5, align 4
  %8 = load %"struct.std::pair.35"** %__x.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE9constructEPSJ_RKSJ_(%"class.__gnu_cxx::new_allocator.33"* %5, %"struct.std::pair.35"* %7, %"struct.std::pair.35"* %8)
  %9 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.31"* %9, i32 0, i32 0
  %_M_finish7 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl6, i32 0, i32 1
  %10 = load %"struct.std::pair.35"** %_M_finish7, align 4
  %incdec.ptr = getelementptr inbounds %"struct.std::pair.35"* %10, i32 1
  store %"struct.std::pair.35"* %incdec.ptr, %"struct.std::pair.35"** %_M_finish7, align 4
  br label %if.end

if.else:                                          ; preds = %entry
  call void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE3endEv(%"class.__gnu_cxx::__normal_iterator.41"* sret %agg.tmp, %"class.std::vector.30"* %this1)
  %11 = load %"struct.std::pair.35"** %__x.addr, align 4
  call void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE13_M_insert_auxENS5_IPSI_SK_EERKSI_(%"class.std::vector.30"* %this1, %"class.__gnu_cxx::__normal_iterator.41"* byval align 4 %agg.tmp, %"struct.std::pair.35"* %11)
  br label %if.end

if.end:                                           ; preds = %if.else, %if.then
  ret void
}

define linkonce_odr void @_ZSt9make_pairIjSt4pairIN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EES0_IT_T0_ESJ_SK_(%"struct.std::pair.35"* noalias sret %agg.result, i32 %__x, %"struct.std::pair.36"* byval align 4 %__y) inlinehint {
entry:
  %__x.addr = alloca i32, align 4
  store i32 %__x, i32* %__x.addr, align 4
  call void @_ZNSt4pairIjS_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_EEC1ERKjRKSH_(%"struct.std::pair.35"* %agg.result, i32* %__x.addr, %"struct.std::pair.36"* %__y)
  ret void
}

define linkonce_odr void @_ZSt9make_pairIN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_ESt4pairIT_T0_ESI_SJ_(%"struct.std::pair.36"* noalias sret %agg.result, %"struct.boost::detail::out_edge_iter"* byval align 4 %__x, %"struct.boost::detail::out_edge_iter"* byval align 4 %__y) inlinehint {
entry:
  call void @_ZNSt4pairIN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_EC1ERKSG_SJ_(%"struct.std::pair.36"* %agg.result, %"struct.boost::detail::out_edge_iter"* %__x, %"struct.boost::detail::out_edge_iter"* %__y)
  ret void
}

define linkonce_odr zeroext i1 @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE5emptyEv(%"class.std::vector.30"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  %ref.tmp = alloca %"class.__gnu_cxx::__normal_iterator.42", align 4
  %ref.tmp2 = alloca %"class.__gnu_cxx::__normal_iterator.42", align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  call void @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.42"* sret %ref.tmp, %"class.std::vector.30"* %this1)
  call void @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE3endEv(%"class.__gnu_cxx::__normal_iterator.42"* sret %ref.tmp2, %"class.std::vector.30"* %this1)
  %call = call zeroext i1 @_ZN9__gnu_cxxeqIPKSt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EESA_ISJ_SaISJ_EEEEbRKNS5_IT_T0_EESS_(%"class.__gnu_cxx::__normal_iterator.42"* %ref.tmp, %"class.__gnu_cxx::__normal_iterator.42"* %ref.tmp2)
  ret i1 %call
}

define linkonce_odr %"struct.std::pair.35"* @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE4backEv(%"class.std::vector.30"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  %tmp = alloca %"class.__gnu_cxx::__normal_iterator.41", align 4
  %ref.tmp = alloca i32, align 4
  %tmp2 = alloca %"class.__gnu_cxx::__normal_iterator.41", align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  call void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE3endEv(%"class.__gnu_cxx::__normal_iterator.41"* sret %tmp, %"class.std::vector.30"* %this1)
  store i32 1, i32* %ref.tmp, align 4
  call void @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEmiERKi(%"class.__gnu_cxx::__normal_iterator.41"* sret %tmp2, %"class.__gnu_cxx::__normal_iterator.41"* %tmp, i32* %ref.tmp)
  %call = call %"struct.std::pair.35"* @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.41"* %tmp2)
  ret %"struct.std::pair.35"* %call
}

define linkonce_odr void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE8pop_backEv(%"class.std::vector.30"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  %0 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"struct.std::pair.35"** %_M_finish, align 4
  %incdec.ptr = getelementptr inbounds %"struct.std::pair.35"* %1, i32 -1
  store %"struct.std::pair.35"* %incdec.ptr, %"struct.std::pair.35"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.31"* %2, i32 0, i32 0
  %3 = bitcast %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl2 to %"class.__gnu_cxx::new_allocator.33"*
  %4 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.31"* %4, i32 0, i32 0
  %_M_finish4 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl3, i32 0, i32 1
  %5 = load %"struct.std::pair.35"** %_M_finish4, align 4
  call void @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE7destroyEPSJ_(%"class.__gnu_cxx::new_allocator.33"* %3, %"struct.std::pair.35"* %5)
  ret void
}

define linkonce_odr zeroext i1 @_ZN5boostneINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iSG_SF_SH_SF_iEENS1_23enable_if_interoperableIT_T4_NS_3mpl6apply2INS1_12always_bool2ESJ_SK_E4typeEE4typeERKNS_15iterator_facadeISJ_T0_T1_T2_T3_EERKNSS_ISK_T5_T6_T7_T8_EE(%"class.boost::iterator_facade.28"* %lhs, %"class.boost::iterator_facade.28"* %rhs) inlinehint {
entry:
  %lhs.addr = alloca %"class.boost::iterator_facade.28"*, align 4
  %rhs.addr = alloca %"class.boost::iterator_facade.28"*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::is_convertible.40", align 1
  store %"class.boost::iterator_facade.28"* %lhs, %"class.boost::iterator_facade.28"** %lhs.addr, align 4
  store %"class.boost::iterator_facade.28"* %rhs, %"class.boost::iterator_facade.28"** %rhs.addr, align 4
  %0 = load %"class.boost::iterator_facade.28"** %lhs.addr, align 4
  %1 = bitcast %"class.boost::iterator_facade.28"* %0 to %"struct.boost::detail::out_edge_iter"*
  %2 = load %"class.boost::iterator_facade.28"** %rhs.addr, align 4
  %3 = bitcast %"class.boost::iterator_facade.28"* %2 to %"struct.boost::detail::out_edge_iter"*
  %4 = bitcast %"struct.boost::is_convertible.40"* %ref.tmp to %"struct.mpl_::bool_"*
  %call = call zeroext i1 @_ZN5boost20iterator_core_access5equalINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESH_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE(%"struct.boost::detail::out_edge_iter"* %1, %"struct.boost::detail::out_edge_iter"* %3)
  %lnot = xor i1 %call, true
  ret i1 %lnot
}

define linkonce_odr i32 @_ZN5boost6targetINS_12directed_tagEjNS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S6_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %e, %"class.boost::adjacency_list"*) nounwind inlinehint {
entry:
  %e.addr = alloca %"struct.boost::detail::edge_base"*, align 4
  %.addr = alloca %"class.boost::adjacency_list"*, align 4
  store %"struct.boost::detail::edge_base"* %e, %"struct.boost::detail::edge_base"** %e.addr, align 4
  store %"class.boost::adjacency_list"* %0, %"class.boost::adjacency_list"** %.addr, align 4
  %1 = load %"struct.boost::detail::edge_base"** %e.addr, align 4
  %m_target = getelementptr inbounds %"struct.boost::detail::edge_base"* %1, i32 0, i32 1
  %2 = load i32* %m_target, align 4
  ret i32 %2
}

define linkonce_odr void @_ZNK5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iEdeEv(%"class.boost::detail::edge_desc_impl"* noalias sret %agg.result, %"class.boost::iterator_facade.28"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade.28"*, align 4
  store %"class.boost::iterator_facade.28"* %this, %"class.boost::iterator_facade.28"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade.28"** %this.addr
  %call = call %"struct.boost::detail::out_edge_iter"* @_ZNK5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iE7derivedEv(%"class.boost::iterator_facade.28"* %this1)
  call void @_ZN5boost20iterator_core_access11dereferenceINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEEEENT_9referenceERKSI_(%"class.boost::detail::edge_desc_impl"* sret %agg.result, %"struct.boost::detail::out_edge_iter"* %call)
  ret void
}

define linkonce_odr void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE12examine_edgeINS_6detail14edge_desc_implINS_12directed_tagEjEENS_14adjacency_listINS_4vecSESG_NS_9directedSENS_11no_propertyESI_SI_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %this, %"class.boost::detail::edge_desc_impl"* byval align 4 %u, %"class.boost::adjacency_list"* %g) align 2 {
entry:
  %this.addr = alloca %"class.boost::dfs_visitor"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp2 = alloca %"struct.boost::on_examine_edge", align 1
  store %"class.boost::dfs_visitor"* %this, %"class.boost::dfs_visitor"** %this.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %this1 = load %"class.boost::dfs_visitor"** %this.addr
  %m_vis = getelementptr inbounds %"class.boost::dfs_visitor"* %this1, i32 0, i32 0
  %0 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %u to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 12, i32 4, i1 false)
  %2 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEENS_15on_examine_edgeEEEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %m_vis, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %2)
  ret void
}

define linkonce_odr void @_ZN16edge_categorizerISt4pairIN5boost12time_stamperIPjiNS1_18on_discover_vertexEEENS2_IS3_iNS1_16on_finish_vertexEEEEE9tree_edgeINS1_6detail14edge_desc_implINS1_12directed_tagEjEEKNS1_14adjacency_listINS1_4vecSESG_NS1_9directedSENS1_11no_propertyESI_SI_NS1_5listSEEEEEvT_RT0_(%struct.edge_categorizer* %this, %"class.boost::detail::edge_desc_impl"* byval align 4 %e, %"class.boost::adjacency_list"* %G) align 2 {
entry:
  %this.addr = alloca %struct.edge_categorizer*, align 4
  %G.addr = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  store %struct.edge_categorizer* %this, %struct.edge_categorizer** %this.addr, align 4
  store %"class.boost::adjacency_list"* %G, %"class.boost::adjacency_list"** %G.addr, align 4
  %this1 = load %struct.edge_categorizer** %this.addr
  %call = call %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* @_ZSt4cout, i8* getelementptr inbounds ([12 x i8]* @.str8, i32 0, i32 0))
  %0 = bitcast %"class.boost::detail::edge_desc_impl"* %e to %"struct.boost::detail::edge_base"*
  %1 = load %"class.boost::adjacency_list"** %G.addr, align 4
  %call2 = call i32 @_ZN5boost6sourceINS_12directed_tagEjNS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S6_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %0, %"class.boost::adjacency_list"* %1)
  %call3 = call %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"* %call, i32 %call2)
  %call4 = call %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call3, i8* getelementptr inbounds ([6 x i8]* @.str6, i32 0, i32 0))
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %e to %"struct.boost::detail::edge_base"*
  %3 = load %"class.boost::adjacency_list"** %G.addr, align 4
  %call5 = call i32 @_ZN5boost6targetINS_12directed_tagEjNS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S6_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %2, %"class.boost::adjacency_list"* %3)
  %call6 = call %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"* %call4, i32 %call5)
  %call7 = call %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call6, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %4 = bitcast %struct.edge_categorizer* %this1 to %"class.boost::dfs_visitor"*
  %5 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %6 = bitcast %"class.boost::detail::edge_desc_impl"* %e to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %6, i32 12, i32 4, i1 false)
  %7 = load %"class.boost::adjacency_list"** %G.addr, align 4
  call void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE9tree_edgeINS_6detail14edge_desc_implINS_12directed_tagEjEENS_14adjacency_listINS_4vecSESG_NS_9directedSENS_11no_propertyESI_SI_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %4, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %7)
  ret void
}

define linkonce_odr %"struct.boost::detail::out_edge_iter"* @_ZN5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iEppEv(%"class.boost::iterator_facade.28"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade.28"*, align 4
  store %"class.boost::iterator_facade.28"* %this, %"class.boost::iterator_facade.28"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade.28"** %this.addr
  %call = call %"struct.boost::detail::out_edge_iter"* @_ZN5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iE7derivedEv(%"class.boost::iterator_facade.28"* %this1)
  call void @_ZN5boost20iterator_core_access9incrementINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEEEEvRT_(%"struct.boost::detail::out_edge_iter"* %call)
  %call2 = call %"struct.boost::detail::out_edge_iter"* @_ZN5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iE7derivedEv(%"class.boost::iterator_facade.28"* %this1)
  ret %"struct.boost::detail::out_edge_iter"* %call2
}

define linkonce_odr void @_ZN16edge_categorizerISt4pairIN5boost12time_stamperIPjiNS1_18on_discover_vertexEEENS2_IS3_iNS1_16on_finish_vertexEEEEE9back_edgeINS1_6detail14edge_desc_implINS1_12directed_tagEjEEKNS1_14adjacency_listINS1_4vecSESG_NS1_9directedSENS1_11no_propertyESI_SI_NS1_5listSEEEEEvT_RT0_(%struct.edge_categorizer* %this, %"class.boost::detail::edge_desc_impl"* byval align 4 %e, %"class.boost::adjacency_list"* %G) align 2 {
entry:
  %this.addr = alloca %struct.edge_categorizer*, align 4
  %G.addr = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  store %struct.edge_categorizer* %this, %struct.edge_categorizer** %this.addr, align 4
  store %"class.boost::adjacency_list"* %G, %"class.boost::adjacency_list"** %G.addr, align 4
  %this1 = load %struct.edge_categorizer** %this.addr
  %call = call %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* @_ZSt4cout, i8* getelementptr inbounds ([12 x i8]* @.str7, i32 0, i32 0))
  %0 = bitcast %"class.boost::detail::edge_desc_impl"* %e to %"struct.boost::detail::edge_base"*
  %1 = load %"class.boost::adjacency_list"** %G.addr, align 4
  %call2 = call i32 @_ZN5boost6sourceINS_12directed_tagEjNS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S6_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %0, %"class.boost::adjacency_list"* %1)
  %call3 = call %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"* %call, i32 %call2)
  %call4 = call %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call3, i8* getelementptr inbounds ([6 x i8]* @.str6, i32 0, i32 0))
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %e to %"struct.boost::detail::edge_base"*
  %3 = load %"class.boost::adjacency_list"** %G.addr, align 4
  %call5 = call i32 @_ZN5boost6targetINS_12directed_tagEjNS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S6_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %2, %"class.boost::adjacency_list"* %3)
  %call6 = call %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"* %call4, i32 %call5)
  %call7 = call %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call6, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %4 = bitcast %struct.edge_categorizer* %this1 to %"class.boost::dfs_visitor"*
  %5 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %6 = bitcast %"class.boost::detail::edge_desc_impl"* %e to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %6, i32 12, i32 4, i1 false)
  %7 = load %"class.boost::adjacency_list"** %G.addr, align 4
  call void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE9back_edgeINS_6detail14edge_desc_implINS_12directed_tagEjEENS_14adjacency_listINS_4vecSESG_NS_9directedSENS_11no_propertyESI_SI_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %4, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %7)
  ret void
}

define linkonce_odr void @_ZN16edge_categorizerISt4pairIN5boost12time_stamperIPjiNS1_18on_discover_vertexEEENS2_IS3_iNS1_16on_finish_vertexEEEEE21forward_or_cross_edgeINS1_6detail14edge_desc_implINS1_12directed_tagEjEEKNS1_14adjacency_listINS1_4vecSESG_NS1_9directedSENS1_11no_propertyESI_SI_NS1_5listSEEEEEvT_RT0_(%struct.edge_categorizer* %this, %"class.boost::detail::edge_desc_impl"* byval align 4 %e, %"class.boost::adjacency_list"* %G) align 2 {
entry:
  %this.addr = alloca %struct.edge_categorizer*, align 4
  %G.addr = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  store %struct.edge_categorizer* %this, %struct.edge_categorizer** %this.addr, align 4
  store %"class.boost::adjacency_list"* %G, %"class.boost::adjacency_list"** %G.addr, align 4
  %this1 = load %struct.edge_categorizer** %this.addr
  %call = call %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* @_ZSt4cout, i8* getelementptr inbounds ([24 x i8]* @.str5, i32 0, i32 0))
  %0 = bitcast %"class.boost::detail::edge_desc_impl"* %e to %"struct.boost::detail::edge_base"*
  %1 = load %"class.boost::adjacency_list"** %G.addr, align 4
  %call2 = call i32 @_ZN5boost6sourceINS_12directed_tagEjNS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S6_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %0, %"class.boost::adjacency_list"* %1)
  %call3 = call %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"* %call, i32 %call2)
  %call4 = call %"class.std::basic_ostream"* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(%"class.std::basic_ostream"* %call3, i8* getelementptr inbounds ([6 x i8]* @.str6, i32 0, i32 0))
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %e to %"struct.boost::detail::edge_base"*
  %3 = load %"class.boost::adjacency_list"** %G.addr, align 4
  %call5 = call i32 @_ZN5boost6targetINS_12directed_tagEjNS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S6_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %2, %"class.boost::adjacency_list"* %3)
  %call6 = call %"class.std::basic_ostream"* @_ZNSolsEj(%"class.std::basic_ostream"* %call4, i32 %call5)
  %call7 = call %"class.std::basic_ostream"* @_ZNSolsEPFRSoS_E(%"class.std::basic_ostream"* %call6, %"class.std::basic_ostream"* (%"class.std::basic_ostream"*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  %4 = bitcast %struct.edge_categorizer* %this1 to %"class.boost::dfs_visitor"*
  %5 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %6 = bitcast %"class.boost::detail::edge_desc_impl"* %e to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %6, i32 12, i32 4, i1 false)
  %7 = load %"class.boost::adjacency_list"** %G.addr, align 4
  call void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE21forward_or_cross_edgeINS_6detail14edge_desc_implINS_12directed_tagEjEENS_14adjacency_listINS_4vecSESG_NS_9directedSENS_11no_propertyESI_SI_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %4, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %7)
  ret void
}

define linkonce_odr i32 @_ZN5boost12color_traitsINS_18default_color_typeEE5blackEv() nounwind align 2 {
entry:
  ret i32 4
}

define linkonce_odr void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE13finish_vertexIjNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %this, i32 %u, %"class.boost::adjacency_list"* %g) align 2 {
entry:
  %this.addr = alloca %"class.boost::dfs_visitor"*, align 4
  %u.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"struct.boost::on_finish_vertex", align 1
  store %"class.boost::dfs_visitor"* %this, %"class.boost::dfs_visitor"** %this.addr, align 4
  store i32 %u, i32* %u.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %this1 = load %"class.boost::dfs_visitor"** %this.addr
  %m_vis = getelementptr inbounds %"class.boost::dfs_visitor"* %this1, i32 0, i32 0
  %0 = load i32* %u.addr, align 4
  %1 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES8_NS_9directedSENS_11no_propertyESA_SA_NS_5listSEEES5_EEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %m_vis, i32 %0, %"class.boost::adjacency_list"* %1)
  ret void
}

define linkonce_odr void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EED1Ev(%"class.std::vector.30"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  call void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EED2Ev(%"class.std::vector.30"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EED2Ev(%"class.std::vector.30"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  %0 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"struct.std::pair.35"** %_M_start, align 4
  %2 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.31"* %2, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl2, i32 0, i32 1
  %3 = load %"struct.std::pair.35"** %_M_finish, align 4
  %4 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %call = invoke %"class.std::allocator.32"* @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.31"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  invoke void @_ZSt8_DestroyIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESJ_EvT_SL_RSaIT0_E(%"struct.std::pair.35"* %1, %"struct.std::pair.35"* %3, %"class.std::allocator.32"* %call)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  %5 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  call void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EED2Ev(%"struct.std::_Vector_base.31"* %5)
  ret void

lpad:                                             ; preds = %invoke.cont, %entry
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  %9 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  invoke void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EED2Ev(%"struct.std::_Vector_base.31"* %9)
          to label %invoke.cont4 unwind label %terminate.lpad

invoke.cont4:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont4
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val5 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val5

terminate.lpad:                                   ; preds = %lpad
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZSt8_DestroyIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESJ_EvT_SL_RSaIT0_E(%"struct.std::pair.35"* %__first, %"struct.std::pair.35"* %__last, %"class.std::allocator.32"*) inlinehint {
entry:
  %__first.addr = alloca %"struct.std::pair.35"*, align 4
  %__last.addr = alloca %"struct.std::pair.35"*, align 4
  %.addr = alloca %"class.std::allocator.32"*, align 4
  store %"struct.std::pair.35"* %__first, %"struct.std::pair.35"** %__first.addr, align 4
  store %"struct.std::pair.35"* %__last, %"struct.std::pair.35"** %__last.addr, align 4
  store %"class.std::allocator.32"* %0, %"class.std::allocator.32"** %.addr, align 4
  %1 = load %"struct.std::pair.35"** %__first.addr, align 4
  %2 = load %"struct.std::pair.35"** %__last.addr, align 4
  call void @_ZSt8_DestroyIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EEEvT_SL_(%"struct.std::pair.35"* %1, %"struct.std::pair.35"* %2)
  ret void
}

define linkonce_odr %"class.std::allocator.32"* @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.31"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.31"*, align 4
  store %"struct.std::_Vector_base.31"* %this, %"struct.std::_Vector_base.31"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.31"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl to %"class.std::allocator.32"*
  ret %"class.std::allocator.32"* %0
}

define linkonce_odr void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EED2Ev(%"struct.std::_Vector_base.31"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.31"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base.31"* %this, %"struct.std::_Vector_base.31"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.31"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %0 = load %"struct.std::pair.35"** %_M_start, align 4
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.31"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %1 = load %"struct.std::pair.35"** %_M_end_of_storage, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.31"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load %"struct.std::pair.35"** %_M_start4, align 4
  %sub.ptr.lhs.cast = ptrtoint %"struct.std::pair.35"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.std::pair.35"* %2 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 20
  invoke void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE13_M_deallocateEPSJ_j(%"struct.std::_Vector_base.31"* %this1, %"struct.std::pair.35"* %0, i32 %sub.ptr.div)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base.31"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl5) nounwind
  ret void

lpad:                                             ; preds = %entry
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.31"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl6) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7
}

define linkonce_odr void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE13_M_deallocateEPSJ_j(%"struct.std::_Vector_base.31"* %this, %"struct.std::pair.35"* %__p, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.31"*, align 4
  %__p.addr = alloca %"struct.std::pair.35"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base.31"* %this, %"struct.std::_Vector_base.31"** %this.addr, align 4
  store %"struct.std::pair.35"* %__p, %"struct.std::pair.35"** %__p.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base.31"** %this.addr
  %0 = load %"struct.std::pair.35"** %__p.addr, align 4
  %tobool = icmp ne %"struct.std::pair.35"* %0, null
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.33"*
  %2 = load %"struct.std::pair.35"** %__p.addr, align 4
  %3 = load i32* %__n.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE10deallocateEPSJ_j(%"class.__gnu_cxx::new_allocator.33"* %1, %"struct.std::pair.35"* %2, i32 %3)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this, %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"** %this.addr
  call void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this, %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this1 to %"class.std::allocator.32"*
  call void @_ZNSaISt4pairIjS_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_EEED2Ev(%"class.std::allocator.32"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZNSaISt4pairIjS_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_EEED2Ev(%"class.std::allocator.32"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.32"*, align 4
  store %"class.std::allocator.32"* %this, %"class.std::allocator.32"** %this.addr, align 4
  %this1 = load %"class.std::allocator.32"** %this.addr
  %0 = bitcast %"class.std::allocator.32"* %this1 to %"class.__gnu_cxx::new_allocator.33"*
  call void @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEED2Ev(%"class.__gnu_cxx::new_allocator.33"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEED2Ev(%"class.__gnu_cxx::new_allocator.33"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.33"*, align 4
  store %"class.__gnu_cxx::new_allocator.33"* %this, %"class.__gnu_cxx::new_allocator.33"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.33"** %this.addr
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE10deallocateEPSJ_j(%"class.__gnu_cxx::new_allocator.33"* %this, %"struct.std::pair.35"* %__p, i32) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.33"*, align 4
  %__p.addr = alloca %"struct.std::pair.35"*, align 4
  %.addr = alloca i32, align 4
  store %"class.__gnu_cxx::new_allocator.33"* %this, %"class.__gnu_cxx::new_allocator.33"** %this.addr, align 4
  store %"struct.std::pair.35"* %__p, %"struct.std::pair.35"** %__p.addr, align 4
  store i32 %0, i32* %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.33"** %this.addr
  %1 = load %"struct.std::pair.35"** %__p.addr, align 4
  %2 = bitcast %"struct.std::pair.35"* %1 to i8*
  call void @_ZdlPv(i8* %2) nounwind
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EEEvT_SL_(%"struct.std::pair.35"* %__first, %"struct.std::pair.35"* %__last) inlinehint {
entry:
  %__first.addr = alloca %"struct.std::pair.35"*, align 4
  %__last.addr = alloca %"struct.std::pair.35"*, align 4
  store %"struct.std::pair.35"* %__first, %"struct.std::pair.35"** %__first.addr, align 4
  store %"struct.std::pair.35"* %__last, %"struct.std::pair.35"** %__last.addr, align 4
  %0 = load %"struct.std::pair.35"** %__first.addr, align 4
  %1 = load %"struct.std::pair.35"** %__last.addr, align 4
  call void @_ZNSt12_Destroy_auxILb1EE9__destroyIPSt4pairIjS2_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS4_20stored_edge_propertyIjNS3_11no_propertyEEESt6vectorISA_SaISA_EEEEjNS4_14edge_desc_implINS3_12directed_tagEjEEiEESJ_EEEEvT_SN_(%"struct.std::pair.35"* %0, %"struct.std::pair.35"* %1)
  ret void
}

define linkonce_odr void @_ZNSt12_Destroy_auxILb1EE9__destroyIPSt4pairIjS2_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS4_20stored_edge_propertyIjNS3_11no_propertyEEESt6vectorISA_SaISA_EEEEjNS4_14edge_desc_implINS3_12directed_tagEjEEiEESJ_EEEEvT_SN_(%"struct.std::pair.35"*, %"struct.std::pair.35"*) nounwind align 2 {
entry:
  %.addr = alloca %"struct.std::pair.35"*, align 4
  %.addr1 = alloca %"struct.std::pair.35"*, align 4
  store %"struct.std::pair.35"* %0, %"struct.std::pair.35"** %.addr, align 4
  store %"struct.std::pair.35"* %1, %"struct.std::pair.35"** %.addr1, align 4
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES8_NS_9directedSENS_11no_propertyESA_SA_NS_5listSEEES5_EEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %vlist, i32 %x, %"class.boost::adjacency_list"* %g) inlinehint {
entry:
  %vlist.addr = alloca %"struct.std::pair.8"*, align 4
  %x.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %tag = alloca %"struct.boost::on_finish_vertex", align 1
  %agg.tmp = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  %agg.tmp1 = alloca %"struct.boost::on_finish_vertex", align 1
  store %"struct.std::pair.8"* %vlist, %"struct.std::pair.8"** %vlist.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %0 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.8"* %0, i32 0, i32 0
  %1 = load i32* %x.addr, align 4
  %2 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %3 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_18on_discover_vertexEEEjKNS_14adjacency_listINS_4vecSES7_NS_9directedSENS_11no_propertyES9_S9_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper"* %first, i32 %1, %"class.boost::adjacency_list"* %2)
  %4 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.8"* %4, i32 0, i32 1
  %5 = load i32* %x.addr, align 4
  %6 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES6_NS_9directedSENS_11no_propertyES8_S8_NS_5listSEEES3_EEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %second, i32 %5, %"class.boost::adjacency_list"* %6)
  ret void
}

define linkonce_odr void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_18on_discover_vertexEEEjKNS_14adjacency_listINS_4vecSES7_NS_9directedSENS_11no_propertyES9_S9_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper"*, i32, %"class.boost::adjacency_list"*) nounwind inlinehint {
entry:
  %.addr = alloca %"struct.boost::time_stamper"*, align 4
  %.addr1 = alloca i32, align 4
  %.addr2 = alloca %"class.boost::adjacency_list"*, align 4
  %3 = alloca %"struct.mpl_::bool_.25", align 1
  store %"struct.boost::time_stamper"* %0, %"struct.boost::time_stamper"** %.addr, align 4
  store i32 %1, i32* %.addr1, align 4
  store %"class.boost::adjacency_list"* %2, %"class.boost::adjacency_list"** %.addr2, align 4
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES6_NS_9directedSENS_11no_propertyES8_S8_NS_5listSEEES3_EEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %v, i32 %x, %"class.boost::adjacency_list"* %g) inlinehint {
entry:
  %v.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %x.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %0 = alloca %"struct.boost::on_finish_vertex", align 1
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant", align 1
  store %"struct.boost::time_stamper.9"* %v, %"struct.boost::time_stamper.9"** %v.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = load %"struct.boost::time_stamper.9"** %v.addr, align 4
  %2 = load i32* %x.addr, align 4
  %3 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %4 = bitcast %"struct.boost::integral_constant"* %ref.tmp to %"struct.mpl_::bool_"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES7_NS_9directedSENS_11no_propertyES9_S9_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb1EEE(%"struct.boost::time_stamper.9"* %1, i32 %2, %"class.boost::adjacency_list"* %3)
  ret void
}

define linkonce_odr void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES7_NS_9directedSENS_11no_propertyES9_S9_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb1EEE(%"struct.boost::time_stamper.9"* %v, i32 %x, %"class.boost::adjacency_list"* %g) inlinehint {
entry:
  %v.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %x.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::time_stamper.9"* %v, %"struct.boost::time_stamper.9"** %v.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = load %"struct.boost::time_stamper.9"** %v.addr, align 4
  %2 = load i32* %x.addr, align 4
  %3 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost12time_stamperIPjiNS_16on_finish_vertexEEclIjNS_14adjacency_listINS_4vecSES6_NS_9directedSENS_11no_propertyES8_S8_NS_5listSEEEEEvT_RKT0_(%"struct.boost::time_stamper.9"* %1, i32 %2, %"class.boost::adjacency_list"* %3)
  ret void
}

define linkonce_odr void @_ZN5boost12time_stamperIPjiNS_16on_finish_vertexEEclIjNS_14adjacency_listINS_4vecSES6_NS_9directedSENS_11no_propertyES8_S8_NS_5listSEEEEEvT_RKT0_(%"struct.boost::time_stamper.9"* %this, i32 %u, %"class.boost::adjacency_list"*) align 2 {
entry:
  %this.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %u.addr = alloca i32, align 4
  %.addr = alloca %"class.boost::adjacency_list"*, align 4
  store %"struct.boost::time_stamper.9"* %this, %"struct.boost::time_stamper.9"** %this.addr, align 4
  store i32 %u, i32* %u.addr, align 4
  store %"class.boost::adjacency_list"* %0, %"class.boost::adjacency_list"** %.addr, align 4
  %this1 = load %"struct.boost::time_stamper.9"** %this.addr
  %m_time_pa = getelementptr inbounds %"struct.boost::time_stamper.9"* %this1, i32 0, i32 0
  %1 = load i32** %m_time_pa, align 4
  %2 = load i32* %u.addr, align 4
  %m_time = getelementptr inbounds %"struct.boost::time_stamper.9"* %this1, i32 0, i32 1
  %ref = load i32** %m_time, align 4
  %3 = load i32* %ref, align 4
  %inc = add nsw i32 %3, 1
  store i32 %inc, i32* %ref, align 4
  call void @_Z3putIjiEvPT_iRKT0_(i32* %1, i32 %2, i32* %ref)
  ret void
}

define linkonce_odr void @_Z3putIjiEvPT_iRKT0_(i32* %pa, i32 %k, i32* %val) nounwind inlinehint {
entry:
  %pa.addr = alloca i32*, align 4
  %k.addr = alloca i32, align 4
  %val.addr = alloca i32*, align 4
  store i32* %pa, i32** %pa.addr, align 4
  store i32 %k, i32* %k.addr, align 4
  store i32* %val, i32** %val.addr, align 4
  %0 = load i32** %val.addr, align 4
  %1 = load i32* %0, align 4
  %2 = load i32* %k.addr, align 4
  %3 = load i32** %pa.addr, align 4
  %arrayidx = getelementptr inbounds i32* %3, i32 %2
  store i32 %1, i32* %arrayidx, align 4
  ret void
}

define linkonce_odr i32 @_ZN5boost6sourceINS_12directed_tagEjNS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEET0_RKNS_6detail9edge_baseIT_S6_EERKNS_14adjacency_listIT1_T2_T3_T4_T5_T6_T7_EE(%"struct.boost::detail::edge_base"* %e, %"class.boost::adjacency_list"*) nounwind inlinehint {
entry:
  %e.addr = alloca %"struct.boost::detail::edge_base"*, align 4
  %.addr = alloca %"class.boost::adjacency_list"*, align 4
  store %"struct.boost::detail::edge_base"* %e, %"struct.boost::detail::edge_base"** %e.addr, align 4
  store %"class.boost::adjacency_list"* %0, %"class.boost::adjacency_list"** %.addr, align 4
  %1 = load %"struct.boost::detail::edge_base"** %e.addr, align 4
  %m_source = getelementptr inbounds %"struct.boost::detail::edge_base"* %1, i32 0, i32 0
  %2 = load i32* %m_source, align 4
  ret i32 %2
}

define linkonce_odr void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE21forward_or_cross_edgeINS_6detail14edge_desc_implINS_12directed_tagEjEENS_14adjacency_listINS_4vecSESG_NS_9directedSENS_11no_propertyESI_SI_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %this, %"class.boost::detail::edge_desc_impl"* byval align 4 %u, %"class.boost::adjacency_list"* %g) align 2 {
entry:
  %this.addr = alloca %"class.boost::dfs_visitor"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp2 = alloca %"struct.boost::on_forward_or_cross_edge", align 1
  store %"class.boost::dfs_visitor"* %this, %"class.boost::dfs_visitor"** %this.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %this1 = load %"class.boost::dfs_visitor"** %this.addr
  %m_vis = getelementptr inbounds %"class.boost::dfs_visitor"* %this1, i32 0, i32 0
  %0 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %u to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 12, i32 4, i1 false)
  %2 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEENS_24on_forward_or_cross_edgeEEEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %m_vis, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %2)
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEENS_24on_forward_or_cross_edgeEEEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %vlist, %"class.boost::detail::edge_desc_impl"* byval align 4 %x, %"class.boost::adjacency_list"* %g) inlinehint {
entry:
  %vlist.addr = alloca %"struct.std::pair.8"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %tag = alloca %"struct.boost::on_forward_or_cross_edge", align 1
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp1 = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  %agg.tmp2 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp3 = alloca %"struct.boost::on_forward_or_cross_edge", align 1
  store %"struct.std::pair.8"* %vlist, %"struct.std::pair.8"** %vlist.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %0 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.8"* %0, i32 0, i32 0
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %x to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 12, i32 4, i1 false)
  %3 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %4 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_18on_discover_vertexEEENS0_14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper"* %first, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %3)
  %5 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.8"* %5, i32 0, i32 1
  %6 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp2 to i8*
  %7 = bitcast %"class.boost::detail::edge_desc_impl"* %x to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 12, i32 4, i1 false)
  %8 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEENS_24on_forward_or_cross_edgeEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %second, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp2, %"class.boost::adjacency_list"* %8)
  ret void
}

define linkonce_odr void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_18on_discover_vertexEEENS0_14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper"*, %"class.boost::detail::edge_desc_impl"* byval align 4, %"class.boost::adjacency_list"*) nounwind inlinehint {
entry:
  %.addr = alloca %"struct.boost::time_stamper"*, align 4
  %.addr1 = alloca %"class.boost::adjacency_list"*, align 4
  %3 = alloca %"struct.mpl_::bool_.25", align 1
  store %"struct.boost::time_stamper"* %0, %"struct.boost::time_stamper"** %.addr, align 4
  store %"class.boost::adjacency_list"* %2, %"class.boost::adjacency_list"** %.addr1, align 4
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEENS_24on_forward_or_cross_edgeEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %v, %"class.boost::detail::edge_desc_impl"* byval align 4 %x, %"class.boost::adjacency_list"* %g) inlinehint {
entry:
  %v.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %0 = alloca %"struct.boost::on_forward_or_cross_edge", align 1
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp1 = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  store %"struct.boost::time_stamper.9"* %v, %"struct.boost::time_stamper.9"** %v.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = load %"struct.boost::time_stamper.9"** %v.addr, align 4
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %3 = bitcast %"class.boost::detail::edge_desc_impl"* %x to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 12, i32 4, i1 false)
  %4 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %5 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_16on_finish_vertexEEENS0_14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper.9"* %1, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %4)
  ret void
}

define linkonce_odr void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_16on_finish_vertexEEENS0_14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper.9"*, %"class.boost::detail::edge_desc_impl"* byval align 4, %"class.boost::adjacency_list"*) nounwind inlinehint {
entry:
  %.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %.addr1 = alloca %"class.boost::adjacency_list"*, align 4
  %3 = alloca %"struct.mpl_::bool_.25", align 1
  store %"struct.boost::time_stamper.9"* %0, %"struct.boost::time_stamper.9"** %.addr, align 4
  store %"class.boost::adjacency_list"* %2, %"class.boost::adjacency_list"** %.addr1, align 4
  ret void
}

define linkonce_odr void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE9back_edgeINS_6detail14edge_desc_implINS_12directed_tagEjEENS_14adjacency_listINS_4vecSESG_NS_9directedSENS_11no_propertyESI_SI_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %this, %"class.boost::detail::edge_desc_impl"* byval align 4 %u, %"class.boost::adjacency_list"* %g) align 2 {
entry:
  %this.addr = alloca %"class.boost::dfs_visitor"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp2 = alloca %"struct.boost::on_back_edge", align 1
  store %"class.boost::dfs_visitor"* %this, %"class.boost::dfs_visitor"** %this.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %this1 = load %"class.boost::dfs_visitor"** %this.addr
  %m_vis = getelementptr inbounds %"class.boost::dfs_visitor"* %this1, i32 0, i32 0
  %0 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %u to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 12, i32 4, i1 false)
  %2 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEENS_12on_back_edgeEEEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %m_vis, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %2)
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEENS_12on_back_edgeEEEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %vlist, %"class.boost::detail::edge_desc_impl"* byval align 4 %x, %"class.boost::adjacency_list"* %g) inlinehint {
entry:
  %vlist.addr = alloca %"struct.std::pair.8"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %tag = alloca %"struct.boost::on_back_edge", align 1
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp1 = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  %agg.tmp2 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp3 = alloca %"struct.boost::on_back_edge", align 1
  store %"struct.std::pair.8"* %vlist, %"struct.std::pair.8"** %vlist.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %0 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.8"* %0, i32 0, i32 0
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %x to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 12, i32 4, i1 false)
  %3 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %4 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_18on_discover_vertexEEENS0_14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper"* %first, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %3)
  %5 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.8"* %5, i32 0, i32 1
  %6 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp2 to i8*
  %7 = bitcast %"class.boost::detail::edge_desc_impl"* %x to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 12, i32 4, i1 false)
  %8 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEENS_12on_back_edgeEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %second, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp2, %"class.boost::adjacency_list"* %8)
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEENS_12on_back_edgeEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %v, %"class.boost::detail::edge_desc_impl"* byval align 4 %x, %"class.boost::adjacency_list"* %g) nounwind inlinehint {
entry:
  %v.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %0 = alloca %"struct.boost::on_back_edge", align 1
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp1 = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  store %"struct.boost::time_stamper.9"* %v, %"struct.boost::time_stamper.9"** %v.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = load %"struct.boost::time_stamper.9"** %v.addr, align 4
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %3 = bitcast %"class.boost::detail::edge_desc_impl"* %x to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 12, i32 4, i1 false)
  %4 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %5 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_16on_finish_vertexEEENS0_14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper.9"* %1, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %4)
  ret void
}

define linkonce_odr void @_ZN5boost20iterator_core_access9incrementINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEEEEvRT_(%"struct.boost::detail::out_edge_iter"* %f) align 2 {
entry:
  %f.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  store %"struct.boost::detail::out_edge_iter"* %f, %"struct.boost::detail::out_edge_iter"** %f.addr, align 4
  %0 = load %"struct.boost::detail::out_edge_iter"** %f.addr, align 4
  %1 = bitcast %"struct.boost::detail::out_edge_iter"* %0 to %"class.boost::iterator_adaptor"*
  call void @_ZN5boost16iterator_adaptorINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESC_SF_NS_11use_defaultESF_iE9incrementEv(%"class.boost::iterator_adaptor"* %1)
  ret void
}

define linkonce_odr %"struct.boost::detail::out_edge_iter"* @_ZN5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iE7derivedEv(%"class.boost::iterator_facade.28"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade.28"*, align 4
  store %"class.boost::iterator_facade.28"* %this, %"class.boost::iterator_facade.28"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade.28"** %this.addr
  %0 = bitcast %"class.boost::iterator_facade.28"* %this1 to %"struct.boost::detail::out_edge_iter"*
  ret %"struct.boost::detail::out_edge_iter"* %0
}

define linkonce_odr void @_ZN5boost16iterator_adaptorINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESC_SF_NS_11use_defaultESF_iE9incrementEv(%"class.boost::iterator_adaptor"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_adaptor"*, align 4
  store %"class.boost::iterator_adaptor"* %this, %"class.boost::iterator_adaptor"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_adaptor"** %this.addr
  %m_iterator = getelementptr inbounds %"class.boost::iterator_adaptor"* %this1, i32 0, i32 0
  %call = call %"class.__gnu_cxx::__normal_iterator.29"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator.29"* %m_iterator)
  ret void
}

define linkonce_odr %"class.__gnu_cxx::__normal_iterator.29"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator.29"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %this, %"class.__gnu_cxx::__normal_iterator.29"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.29"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.29"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_property"** %_M_current, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %0, i32 1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr, %"class.boost::detail::stored_edge_property"** %_M_current, align 4
  ret %"class.__gnu_cxx::__normal_iterator.29"* %this1
}

define linkonce_odr void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEE9tree_edgeINS_6detail14edge_desc_implINS_12directed_tagEjEENS_14adjacency_listINS_4vecSESG_NS_9directedSENS_11no_propertyESI_SI_NS_5listSEEEEEvT_RKT0_(%"class.boost::dfs_visitor"* %this, %"class.boost::detail::edge_desc_impl"* byval align 4 %u, %"class.boost::adjacency_list"* %g) align 2 {
entry:
  %this.addr = alloca %"class.boost::dfs_visitor"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp2 = alloca %"struct.boost::on_tree_edge", align 1
  store %"class.boost::dfs_visitor"* %this, %"class.boost::dfs_visitor"** %this.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %this1 = load %"class.boost::dfs_visitor"** %this.addr
  %m_vis = getelementptr inbounds %"class.boost::dfs_visitor"* %this1, i32 0, i32 0
  %0 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %u to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 12, i32 4, i1 false)
  %2 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEENS_12on_tree_edgeEEEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %m_vis, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %2)
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEENS_12on_tree_edgeEEEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %vlist, %"class.boost::detail::edge_desc_impl"* byval align 4 %x, %"class.boost::adjacency_list"* %g) inlinehint {
entry:
  %vlist.addr = alloca %"struct.std::pair.8"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %tag = alloca %"struct.boost::on_tree_edge", align 1
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp1 = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  %agg.tmp2 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp3 = alloca %"struct.boost::on_tree_edge", align 1
  store %"struct.std::pair.8"* %vlist, %"struct.std::pair.8"** %vlist.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %0 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.8"* %0, i32 0, i32 0
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %x to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 12, i32 4, i1 false)
  %3 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %4 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_18on_discover_vertexEEENS0_14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper"* %first, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %3)
  %5 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.8"* %5, i32 0, i32 1
  %6 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp2 to i8*
  %7 = bitcast %"class.boost::detail::edge_desc_impl"* %x to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 12, i32 4, i1 false)
  %8 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEENS_12on_tree_edgeEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %second, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp2, %"class.boost::adjacency_list"* %8)
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEENS_12on_tree_edgeEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %v, %"class.boost::detail::edge_desc_impl"* byval align 4 %x, %"class.boost::adjacency_list"* %g) nounwind inlinehint {
entry:
  %v.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %0 = alloca %"struct.boost::on_tree_edge", align 1
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp1 = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  store %"struct.boost::time_stamper.9"* %v, %"struct.boost::time_stamper.9"** %v.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = load %"struct.boost::time_stamper.9"** %v.addr, align 4
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %3 = bitcast %"class.boost::detail::edge_desc_impl"* %x to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 12, i32 4, i1 false)
  %4 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %5 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_16on_finish_vertexEEENS0_14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper.9"* %1, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %4)
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESC_NS_9directedSENS_11no_propertyESE_SE_NS_5listSEEENS_15on_examine_edgeEEEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %vlist, %"class.boost::detail::edge_desc_impl"* byval align 4 %x, %"class.boost::adjacency_list"* %g) inlinehint {
entry:
  %vlist.addr = alloca %"struct.std::pair.8"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %tag = alloca %"struct.boost::on_examine_edge", align 1
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp1 = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  %agg.tmp2 = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp3 = alloca %"struct.boost::on_examine_edge", align 1
  store %"struct.std::pair.8"* %vlist, %"struct.std::pair.8"** %vlist.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %0 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.8"* %0, i32 0, i32 0
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %x to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 12, i32 4, i1 false)
  %3 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %4 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_18on_discover_vertexEEENS0_14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper"* %first, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %3)
  %5 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.8"* %5, i32 0, i32 1
  %6 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp2 to i8*
  %7 = bitcast %"class.boost::detail::edge_desc_impl"* %x to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %6, i8* %7, i32 12, i32 4, i1 false)
  %8 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEENS_15on_examine_edgeEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %second, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp2, %"class.boost::adjacency_list"* %8)
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEENS_6detail14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEENS_15on_examine_edgeEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %v, %"class.boost::detail::edge_desc_impl"* byval align 4 %x, %"class.boost::adjacency_list"* %g) nounwind inlinehint {
entry:
  %v.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %0 = alloca %"struct.boost::on_examine_edge", align 1
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  %agg.tmp1 = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  store %"struct.boost::time_stamper.9"* %v, %"struct.boost::time_stamper.9"** %v.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = load %"struct.boost::time_stamper.9"** %v.addr, align 4
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %agg.tmp to i8*
  %3 = bitcast %"class.boost::detail::edge_desc_impl"* %x to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 12, i32 4, i1 false)
  %4 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %5 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_16on_finish_vertexEEENS0_14edge_desc_implINS_12directed_tagEjEEKNS_14adjacency_listINS_4vecSESA_NS_9directedSENS_11no_propertyESC_SC_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper.9"* %1, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, %"class.boost::adjacency_list"* %4)
  ret void
}

define linkonce_odr void @_ZN5boost20iterator_core_access11dereferenceINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEEEENT_9referenceERKSI_(%"class.boost::detail::edge_desc_impl"* noalias sret %agg.result, %"struct.boost::detail::out_edge_iter"* %f) align 2 {
entry:
  %f.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  store %"struct.boost::detail::out_edge_iter"* %f, %"struct.boost::detail::out_edge_iter"** %f.addr, align 4
  %0 = load %"struct.boost::detail::out_edge_iter"** %f.addr, align 4
  call void @_ZNK5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS0_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEjNS0_14edge_desc_implINS_12directed_tagEjEEiE11dereferenceEv(%"class.boost::detail::edge_desc_impl"* sret %agg.result, %"struct.boost::detail::out_edge_iter"* %0)
  ret void
}

define linkonce_odr %"struct.boost::detail::out_edge_iter"* @_ZNK5boost15iterator_facadeINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESF_NS_27random_access_traversal_tagESF_iE7derivedEv(%"class.boost::iterator_facade.28"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade.28"*, align 4
  store %"class.boost::iterator_facade.28"* %this, %"class.boost::iterator_facade.28"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade.28"** %this.addr
  %0 = bitcast %"class.boost::iterator_facade.28"* %this1 to %"struct.boost::detail::out_edge_iter"*
  ret %"struct.boost::detail::out_edge_iter"* %0
}

define linkonce_odr void @_ZNK5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS0_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEjNS0_14edge_desc_implINS_12directed_tagEjEEiE11dereferenceEv(%"class.boost::detail::edge_desc_impl"* noalias sret %agg.result, %"struct.boost::detail::out_edge_iter"* %this) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  store %"struct.boost::detail::out_edge_iter"* %this, %"struct.boost::detail::out_edge_iter"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::out_edge_iter"** %this.addr
  %m_src = getelementptr inbounds %"struct.boost::detail::out_edge_iter"* %this1, i32 0, i32 1
  %0 = load i32* %m_src, align 4
  %1 = bitcast %"struct.boost::detail::out_edge_iter"* %this1 to %"class.boost::iterator_adaptor"*
  %call = call %"class.__gnu_cxx::__normal_iterator.29"* @_ZNK5boost16iterator_adaptorINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESC_SF_NS_11use_defaultESF_iE4baseEv(%"class.boost::iterator_adaptor"* %1)
  %call2 = call %"class.boost::detail::stored_edge_property"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.29"* %call)
  %2 = bitcast %"class.boost::detail::stored_edge_property"* %call2 to %"class.boost::detail::stored_edge"*
  %call3 = call i32* @_ZNK5boost6detail11stored_edgeIjE10get_targetEv(%"class.boost::detail::stored_edge"* %2)
  %3 = load i32* %call3
  %4 = bitcast %"struct.boost::detail::out_edge_iter"* %this1 to %"class.boost::iterator_adaptor"*
  %call4 = call %"class.__gnu_cxx::__normal_iterator.29"* @_ZNK5boost16iterator_adaptorINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESC_SF_NS_11use_defaultESF_iE4baseEv(%"class.boost::iterator_adaptor"* %4)
  %call5 = call %"class.boost::detail::stored_edge_property"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.29"* %call4)
  %call6 = call %"struct.boost::no_property"* @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEE12get_propertyEv(%"class.boost::detail::stored_edge_property"* %call5)
  %5 = bitcast %"struct.boost::no_property"* %call6 to i8*
  call void @_ZN5boost6detail14edge_desc_implINS_12directed_tagEjEC1EjjPKv(%"class.boost::detail::edge_desc_impl"* %agg.result, i32 %0, i32 %3, i8* %5)
  ret void
}

define linkonce_odr void @_ZN5boost6detail14edge_desc_implINS_12directed_tagEjEC1EjjPKv(%"class.boost::detail::edge_desc_impl"* %this, i32 %s, i32 %d, i8* %eplug) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %s.addr = alloca i32, align 4
  %d.addr = alloca i32, align 4
  %eplug.addr = alloca i8*, align 4
  store %"class.boost::detail::edge_desc_impl"* %this, %"class.boost::detail::edge_desc_impl"** %this.addr, align 4
  store i32 %s, i32* %s.addr, align 4
  store i32 %d, i32* %d.addr, align 4
  store i8* %eplug, i8** %eplug.addr, align 4
  %this1 = load %"class.boost::detail::edge_desc_impl"** %this.addr
  %0 = load i32* %s.addr, align 4
  %1 = load i32* %d.addr, align 4
  %2 = load i8** %eplug.addr, align 4
  call void @_ZN5boost6detail14edge_desc_implINS_12directed_tagEjEC2EjjPKv(%"class.boost::detail::edge_desc_impl"* %this1, i32 %0, i32 %1, i8* %2)
  ret void
}

define linkonce_odr %"class.__gnu_cxx::__normal_iterator.29"* @_ZNK5boost16iterator_adaptorINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESC_SF_NS_11use_defaultESF_iE4baseEv(%"class.boost::iterator_adaptor"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_adaptor"*, align 4
  store %"class.boost::iterator_adaptor"* %this, %"class.boost::iterator_adaptor"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_adaptor"** %this.addr
  %m_iterator = getelementptr inbounds %"class.boost::iterator_adaptor"* %this1, i32 0, i32 0
  ret %"class.__gnu_cxx::__normal_iterator.29"* %m_iterator
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.29"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %this, %"class.__gnu_cxx::__normal_iterator.29"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.29"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.29"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_property"** %_M_current, align 4
  ret %"class.boost::detail::stored_edge_property"* %0
}

define linkonce_odr i32* @_ZNK5boost6detail11stored_edgeIjE10get_targetEv(%"class.boost::detail::stored_edge"* %this) nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge"*, align 4
  store %"class.boost::detail::stored_edge"* %this, %"class.boost::detail::stored_edge"** %this.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge"** %this.addr
  %m_target = getelementptr inbounds %"class.boost::detail::stored_edge"* %this1, i32 0, i32 0
  ret i32* %m_target
}

define linkonce_odr %"struct.boost::no_property"* @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEE12get_propertyEv(%"class.boost::detail::stored_edge_property"* %this) nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %this, %"class.boost::detail::stored_edge_property"** %this.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge_property"** %this.addr
  %m_property = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %this1, i32 0, i32 1
  %call = call %"struct.boost::no_property"* @_ZNKSt8auto_ptrIN5boost11no_propertyEEdeEv(%"class.std::auto_ptr"* %m_property) nounwind
  ret %"struct.boost::no_property"* %call
}

define linkonce_odr %"struct.boost::no_property"* @_ZNKSt8auto_ptrIN5boost11no_propertyEEdeEv(%"class.std::auto_ptr"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::auto_ptr"*, align 4
  store %"class.std::auto_ptr"* %this, %"class.std::auto_ptr"** %this.addr, align 4
  %this1 = load %"class.std::auto_ptr"** %this.addr
  %_M_ptr = getelementptr inbounds %"class.std::auto_ptr"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::no_property"** %_M_ptr, align 4
  ret %"struct.boost::no_property"* %0
}

define linkonce_odr void @_ZN5boost6detail14edge_desc_implINS_12directed_tagEjEC2EjjPKv(%"class.boost::detail::edge_desc_impl"* %this, i32 %s, i32 %d, i8* %eplug) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %s.addr = alloca i32, align 4
  %d.addr = alloca i32, align 4
  %eplug.addr = alloca i8*, align 4
  store %"class.boost::detail::edge_desc_impl"* %this, %"class.boost::detail::edge_desc_impl"** %this.addr, align 4
  store i32 %s, i32* %s.addr, align 4
  store i32 %d, i32* %d.addr, align 4
  store i8* %eplug, i8** %eplug.addr, align 4
  %this1 = load %"class.boost::detail::edge_desc_impl"** %this.addr
  %0 = bitcast %"class.boost::detail::edge_desc_impl"* %this1 to %"struct.boost::detail::edge_base"*
  %1 = load i32* %s.addr, align 4
  %2 = load i32* %d.addr, align 4
  call void @_ZN5boost6detail9edge_baseINS_12directed_tagEjEC2Ejj(%"struct.boost::detail::edge_base"* %0, i32 %1, i32 %2)
  %m_eproperty = getelementptr inbounds %"class.boost::detail::edge_desc_impl"* %this1, i32 0, i32 1
  %3 = load i8** %eplug.addr, align 4
  store i8* %3, i8** %m_eproperty, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6detail9edge_baseINS_12directed_tagEjEC2Ejj(%"struct.boost::detail::edge_base"* %this, i32 %s, i32 %d) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::edge_base"*, align 4
  %s.addr = alloca i32, align 4
  %d.addr = alloca i32, align 4
  store %"struct.boost::detail::edge_base"* %this, %"struct.boost::detail::edge_base"** %this.addr, align 4
  store i32 %s, i32* %s.addr, align 4
  store i32 %d, i32* %d.addr, align 4
  %this1 = load %"struct.boost::detail::edge_base"** %this.addr
  %m_source = getelementptr inbounds %"struct.boost::detail::edge_base"* %this1, i32 0, i32 0
  %0 = load i32* %s.addr, align 4
  store i32 %0, i32* %m_source, align 4
  %m_target = getelementptr inbounds %"struct.boost::detail::edge_base"* %this1, i32 0, i32 1
  %1 = load i32* %d.addr, align 4
  store i32 %1, i32* %m_target, align 4
  ret void
}

define linkonce_odr zeroext i1 @_ZN5boost20iterator_core_access5equalINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESH_EEbRKT_RKT0_N4mpl_5bool_ILb1EEE(%"struct.boost::detail::out_edge_iter"* %f1, %"struct.boost::detail::out_edge_iter"* %f2) align 2 {
entry:
  %f1.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %f2.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::detail::out_edge_iter"* %f1, %"struct.boost::detail::out_edge_iter"** %f1.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %f2, %"struct.boost::detail::out_edge_iter"** %f2.addr, align 4
  %1 = load %"struct.boost::detail::out_edge_iter"** %f1.addr, align 4
  %2 = bitcast %"struct.boost::detail::out_edge_iter"* %1 to %"class.boost::iterator_adaptor"*
  %3 = load %"struct.boost::detail::out_edge_iter"** %f2.addr, align 4
  %4 = bitcast %"struct.boost::detail::out_edge_iter"* %3 to %"class.boost::iterator_adaptor"*
  %call = call zeroext i1 @_ZNK5boost16iterator_adaptorINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESC_SF_NS_11use_defaultESF_iE5equalISG_SC_SF_SH_SF_iEEbRKNS0_IT_T0_T1_T2_T3_T4_EE(%"class.boost::iterator_adaptor"* %2, %"class.boost::iterator_adaptor"* %4)
  ret i1 %call
}

define linkonce_odr zeroext i1 @_ZNK5boost16iterator_adaptorINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESC_SF_NS_11use_defaultESF_iE5equalISG_SC_SF_SH_SF_iEEbRKNS0_IT_T0_T1_T2_T3_T4_EE(%"class.boost::iterator_adaptor"* %this, %"class.boost::iterator_adaptor"* %x) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_adaptor"*, align 4
  %x.addr = alloca %"class.boost::iterator_adaptor"*, align 4
  store %"class.boost::iterator_adaptor"* %this, %"class.boost::iterator_adaptor"** %this.addr, align 4
  store %"class.boost::iterator_adaptor"* %x, %"class.boost::iterator_adaptor"** %x.addr, align 4
  %this1 = load %"class.boost::iterator_adaptor"** %this.addr
  %m_iterator = getelementptr inbounds %"class.boost::iterator_adaptor"* %this1, i32 0, i32 0
  %0 = load %"class.boost::iterator_adaptor"** %x.addr, align 4
  %call = call %"class.__gnu_cxx::__normal_iterator.29"* @_ZNK5boost16iterator_adaptorINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESC_SF_NS_11use_defaultESF_iE4baseEv(%"class.boost::iterator_adaptor"* %0)
  %call2 = call zeroext i1 @_ZN9__gnu_cxxeqIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESF_(%"class.__gnu_cxx::__normal_iterator.29"* %m_iterator, %"class.__gnu_cxx::__normal_iterator.29"* %call)
  ret i1 %call2
}

define linkonce_odr zeroext i1 @_ZN9__gnu_cxxeqIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESF_(%"class.__gnu_cxx::__normal_iterator.29"* %__lhs, %"class.__gnu_cxx::__normal_iterator.29"* %__rhs) inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %__lhs, %"class.__gnu_cxx::__normal_iterator.29"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %__rhs, %"class.__gnu_cxx::__normal_iterator.29"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.29"** %__lhs.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.29"* %0)
  %1 = load %"class.boost::detail::stored_edge_property"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator.29"** %__rhs.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.29"* %2)
  %3 = load %"class.boost::detail::stored_edge_property"** %call1
  %cmp = icmp eq %"class.boost::detail::stored_edge_property"* %1, %3
  ret i1 %cmp
}

define linkonce_odr %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.29"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %this, %"class.__gnu_cxx::__normal_iterator.29"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.29"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.29"* %this1, i32 0, i32 0
  ret %"class.boost::detail::stored_edge_property"** %_M_current
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE7destroyEPSJ_(%"class.__gnu_cxx::new_allocator.33"* %this, %"struct.std::pair.35"* %__p) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.33"*, align 4
  %__p.addr = alloca %"struct.std::pair.35"*, align 4
  store %"class.__gnu_cxx::new_allocator.33"* %this, %"class.__gnu_cxx::new_allocator.33"** %this.addr, align 4
  store %"struct.std::pair.35"* %__p, %"struct.std::pair.35"** %__p.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.33"** %this.addr
  %0 = load %"struct.std::pair.35"** %__p.addr, align 4
  ret void
}

define linkonce_odr void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE3endEv(%"class.__gnu_cxx::__normal_iterator.41"* noalias sret %agg.result, %"class.std::vector.30"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  %0 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  call void @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEC1ERKSJ_(%"class.__gnu_cxx::__normal_iterator.41"* %agg.result, %"struct.std::pair.35"** %_M_finish)
  ret void
}

define linkonce_odr void @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEmiERKi(%"class.__gnu_cxx::__normal_iterator.41"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.41"* %this, i32* %__n) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.41"*, align 4
  %__n.addr = alloca i32*, align 4
  %ref.tmp = alloca %"struct.std::pair.35"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.41"* %this, %"class.__gnu_cxx::__normal_iterator.41"** %this.addr, align 4
  store i32* %__n, i32** %__n.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.41"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.41"* %this1, i32 0, i32 0
  %0 = load %"struct.std::pair.35"** %_M_current, align 4
  %1 = load i32** %__n.addr, align 4
  %2 = load i32* %1, align 4
  %idx.neg = sub i32 0, %2
  %add.ptr = getelementptr inbounds %"struct.std::pair.35"* %0, i32 %idx.neg
  store %"struct.std::pair.35"* %add.ptr, %"struct.std::pair.35"** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEC1ERKSJ_(%"class.__gnu_cxx::__normal_iterator.41"* %agg.result, %"struct.std::pair.35"** %ref.tmp)
  ret void
}

define linkonce_odr %"struct.std::pair.35"* @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.41"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.41"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.41"* %this, %"class.__gnu_cxx::__normal_iterator.41"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.41"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.41"* %this1, i32 0, i32 0
  %0 = load %"struct.std::pair.35"** %_M_current, align 4
  ret %"struct.std::pair.35"* %0
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEC1ERKSJ_(%"class.__gnu_cxx::__normal_iterator.41"* %this, %"struct.std::pair.35"** %__i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.41"*, align 4
  %__i.addr = alloca %"struct.std::pair.35"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.41"* %this, %"class.__gnu_cxx::__normal_iterator.41"** %this.addr, align 4
  store %"struct.std::pair.35"** %__i, %"struct.std::pair.35"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.41"** %this.addr
  %0 = load %"struct.std::pair.35"*** %__i.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEC2ERKSJ_(%"class.__gnu_cxx::__normal_iterator.41"* %this1, %"struct.std::pair.35"** %0)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEC2ERKSJ_(%"class.__gnu_cxx::__normal_iterator.41"* %this, %"struct.std::pair.35"** %__i) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.41"*, align 4
  %__i.addr = alloca %"struct.std::pair.35"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.41"* %this, %"class.__gnu_cxx::__normal_iterator.41"** %this.addr, align 4
  store %"struct.std::pair.35"** %__i, %"struct.std::pair.35"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.41"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.41"* %this1, i32 0, i32 0
  %0 = load %"struct.std::pair.35"*** %__i.addr, align 4
  %1 = load %"struct.std::pair.35"** %0, align 4
  store %"struct.std::pair.35"* %1, %"struct.std::pair.35"** %_M_current, align 4
  ret void
}

define linkonce_odr zeroext i1 @_ZN9__gnu_cxxeqIPKSt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EESA_ISJ_SaISJ_EEEEbRKNS5_IT_T0_EESS_(%"class.__gnu_cxx::__normal_iterator.42"* %__lhs, %"class.__gnu_cxx::__normal_iterator.42"* %__rhs) inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.42"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.42"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.42"* %__lhs, %"class.__gnu_cxx::__normal_iterator.42"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.42"* %__rhs, %"class.__gnu_cxx::__normal_iterator.42"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.42"** %__lhs.addr, align 4
  %call = call %"struct.std::pair.35"** @_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.42"* %0)
  %1 = load %"struct.std::pair.35"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator.42"** %__rhs.addr, align 4
  %call1 = call %"struct.std::pair.35"** @_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.42"* %2)
  %3 = load %"struct.std::pair.35"** %call1
  %cmp = icmp eq %"struct.std::pair.35"* %1, %3
  ret i1 %cmp
}

define linkonce_odr void @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.42"* noalias sret %agg.result, %"class.std::vector.30"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  %ref.tmp = alloca %"struct.std::pair.35"*, align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  %0 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"struct.std::pair.35"** %_M_start, align 4
  store %"struct.std::pair.35"* %1, %"struct.std::pair.35"** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEC1ERKSK_(%"class.__gnu_cxx::__normal_iterator.42"* %agg.result, %"struct.std::pair.35"** %ref.tmp)
  ret void
}

define linkonce_odr void @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE3endEv(%"class.__gnu_cxx::__normal_iterator.42"* noalias sret %agg.result, %"class.std::vector.30"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  %ref.tmp = alloca %"struct.std::pair.35"*, align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  %0 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"struct.std::pair.35"** %_M_finish, align 4
  store %"struct.std::pair.35"* %1, %"struct.std::pair.35"** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEC1ERKSK_(%"class.__gnu_cxx::__normal_iterator.42"* %agg.result, %"struct.std::pair.35"** %ref.tmp)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEC1ERKSK_(%"class.__gnu_cxx::__normal_iterator.42"* %this, %"struct.std::pair.35"** %__i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.42"*, align 4
  %__i.addr = alloca %"struct.std::pair.35"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.42"* %this, %"class.__gnu_cxx::__normal_iterator.42"** %this.addr, align 4
  store %"struct.std::pair.35"** %__i, %"struct.std::pair.35"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.42"** %this.addr
  %0 = load %"struct.std::pair.35"*** %__i.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEC2ERKSK_(%"class.__gnu_cxx::__normal_iterator.42"* %this1, %"struct.std::pair.35"** %0)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEC2ERKSK_(%"class.__gnu_cxx::__normal_iterator.42"* %this, %"struct.std::pair.35"** %__i) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.42"*, align 4
  %__i.addr = alloca %"struct.std::pair.35"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.42"* %this, %"class.__gnu_cxx::__normal_iterator.42"** %this.addr, align 4
  store %"struct.std::pair.35"** %__i, %"struct.std::pair.35"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.42"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.42"* %this1, i32 0, i32 0
  %0 = load %"struct.std::pair.35"*** %__i.addr, align 4
  %1 = load %"struct.std::pair.35"** %0, align 4
  store %"struct.std::pair.35"* %1, %"struct.std::pair.35"** %_M_current, align 4
  ret void
}

define linkonce_odr %"struct.std::pair.35"** @_ZNK9__gnu_cxx17__normal_iteratorIPKSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.42"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.42"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.42"* %this, %"class.__gnu_cxx::__normal_iterator.42"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.42"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.42"* %this1, i32 0, i32 0
  ret %"struct.std::pair.35"** %_M_current
}

define linkonce_odr void @_ZNSt4pairIN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_EC1ERKSG_SJ_(%"struct.std::pair.36"* %this, %"struct.boost::detail::out_edge_iter"* %__a, %"struct.boost::detail::out_edge_iter"* %__b) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.36"*, align 4
  %__a.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %__b.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  store %"struct.std::pair.36"* %this, %"struct.std::pair.36"** %this.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %__a, %"struct.boost::detail::out_edge_iter"** %__a.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %__b, %"struct.boost::detail::out_edge_iter"** %__b.addr, align 4
  %this1 = load %"struct.std::pair.36"** %this.addr
  %0 = load %"struct.boost::detail::out_edge_iter"** %__a.addr
  %1 = load %"struct.boost::detail::out_edge_iter"** %__b.addr
  call void @_ZNSt4pairIN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_EC2ERKSG_SJ_(%"struct.std::pair.36"* %this1, %"struct.boost::detail::out_edge_iter"* %0, %"struct.boost::detail::out_edge_iter"* %1)
  ret void
}

define linkonce_odr void @_ZNSt4pairIN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_EC2ERKSG_SJ_(%"struct.std::pair.36"* %this, %"struct.boost::detail::out_edge_iter"* %__a, %"struct.boost::detail::out_edge_iter"* %__b) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.36"*, align 4
  %__a.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %__b.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  store %"struct.std::pair.36"* %this, %"struct.std::pair.36"** %this.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %__a, %"struct.boost::detail::out_edge_iter"** %__a.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %__b, %"struct.boost::detail::out_edge_iter"** %__b.addr, align 4
  %this1 = load %"struct.std::pair.36"** %this.addr
  %first = getelementptr inbounds %"struct.std::pair.36"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::detail::out_edge_iter"** %__a.addr, align 4
  %1 = bitcast %"struct.boost::detail::out_edge_iter"* %first to i8*
  %2 = bitcast %"struct.boost::detail::out_edge_iter"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 8, i32 4, i1 false)
  %second = getelementptr inbounds %"struct.std::pair.36"* %this1, i32 0, i32 1
  %3 = load %"struct.boost::detail::out_edge_iter"** %__b.addr, align 4
  %4 = bitcast %"struct.boost::detail::out_edge_iter"* %second to i8*
  %5 = bitcast %"struct.boost::detail::out_edge_iter"* %3 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 8, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZNSt4pairIjS_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_EEC1ERKjRKSH_(%"struct.std::pair.35"* %this, i32* %__a, %"struct.std::pair.36"* %__b) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.35"*, align 4
  %__a.addr = alloca i32*, align 4
  %__b.addr = alloca %"struct.std::pair.36"*, align 4
  store %"struct.std::pair.35"* %this, %"struct.std::pair.35"** %this.addr, align 4
  store i32* %__a, i32** %__a.addr, align 4
  store %"struct.std::pair.36"* %__b, %"struct.std::pair.36"** %__b.addr, align 4
  %this1 = load %"struct.std::pair.35"** %this.addr
  %0 = load i32** %__a.addr
  %1 = load %"struct.std::pair.36"** %__b.addr
  call void @_ZNSt4pairIjS_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_EEC2ERKjRKSH_(%"struct.std::pair.35"* %this1, i32* %0, %"struct.std::pair.36"* %1)
  ret void
}

define linkonce_odr void @_ZNSt4pairIjS_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_EEC2ERKjRKSH_(%"struct.std::pair.35"* %this, i32* %__a, %"struct.std::pair.36"* %__b) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.35"*, align 4
  %__a.addr = alloca i32*, align 4
  %__b.addr = alloca %"struct.std::pair.36"*, align 4
  store %"struct.std::pair.35"* %this, %"struct.std::pair.35"** %this.addr, align 4
  store i32* %__a, i32** %__a.addr, align 4
  store %"struct.std::pair.36"* %__b, %"struct.std::pair.36"** %__b.addr, align 4
  %this1 = load %"struct.std::pair.35"** %this.addr
  %first = getelementptr inbounds %"struct.std::pair.35"* %this1, i32 0, i32 0
  %0 = load i32** %__a.addr, align 4
  %1 = load i32* %0, align 4
  store i32 %1, i32* %first, align 4
  %second = getelementptr inbounds %"struct.std::pair.35"* %this1, i32 0, i32 1
  %2 = load %"struct.std::pair.36"** %__b.addr, align 4
  %3 = bitcast %"struct.std::pair.36"* %second to i8*
  %4 = bitcast %"struct.std::pair.36"* %2 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 16, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE9constructEPSJ_RKSJ_(%"class.__gnu_cxx::new_allocator.33"* %this, %"struct.std::pair.35"* %__p, %"struct.std::pair.35"* %__val) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.33"*, align 4
  %__p.addr = alloca %"struct.std::pair.35"*, align 4
  %__val.addr = alloca %"struct.std::pair.35"*, align 4
  store %"class.__gnu_cxx::new_allocator.33"* %this, %"class.__gnu_cxx::new_allocator.33"** %this.addr, align 4
  store %"struct.std::pair.35"* %__p, %"struct.std::pair.35"** %__p.addr, align 4
  store %"struct.std::pair.35"* %__val, %"struct.std::pair.35"** %__val.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.33"** %this.addr
  %0 = load %"struct.std::pair.35"** %__p.addr, align 4
  %1 = bitcast %"struct.std::pair.35"* %0 to i8*
  %new.isnull = icmp eq i8* %1, null
  br i1 %new.isnull, label %new.cont, label %new.notnull

new.notnull:                                      ; preds = %entry
  %2 = bitcast i8* %1 to %"struct.std::pair.35"*
  %3 = load %"struct.std::pair.35"** %__val.addr, align 4
  %4 = bitcast %"struct.std::pair.35"* %2 to i8*
  %5 = bitcast %"struct.std::pair.35"* %3 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 20, i32 4, i1 false)
  br label %new.cont

new.cont:                                         ; preds = %new.notnull, %entry
  %6 = phi %"struct.std::pair.35"* [ %2, %new.notnull ], [ null, %entry ]
  ret void
}

define linkonce_odr void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE13_M_insert_auxENS5_IPSI_SK_EERKSI_(%"class.std::vector.30"* %this, %"class.__gnu_cxx::__normal_iterator.41"* byval align 4 %__position, %"struct.std::pair.35"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  %__x.addr = alloca %"struct.std::pair.35"*, align 4
  %__x_copy = alloca %"struct.std::pair.35", align 4
  %__len = alloca i32, align 4
  %__elems_before = alloca i32, align 4
  %ref.tmp = alloca %"class.__gnu_cxx::__normal_iterator.41", align 4
  %__new_start = alloca %"struct.std::pair.35"*, align 4
  %__new_finish = alloca %"struct.std::pair.35"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  store %"struct.std::pair.35"* %__x, %"struct.std::pair.35"** %__x.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  %0 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"struct.std::pair.35"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.31"* %2, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %3 = load %"struct.std::pair.35"** %_M_end_of_storage, align 4
  %cmp = icmp ne %"struct.std::pair.35"* %1, %3
  br i1 %cmp, label %if.then, label %if.else

if.then:                                          ; preds = %entry
  %4 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.31"* %4, i32 0, i32 0
  %5 = bitcast %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl3 to %"class.__gnu_cxx::new_allocator.33"*
  %6 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl4 = getelementptr inbounds %"struct.std::_Vector_base.31"* %6, i32 0, i32 0
  %_M_finish5 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl4, i32 0, i32 1
  %7 = load %"struct.std::pair.35"** %_M_finish5, align 4
  %8 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.31"* %8, i32 0, i32 0
  %_M_finish7 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl6, i32 0, i32 1
  %9 = load %"struct.std::pair.35"** %_M_finish7, align 4
  %add.ptr = getelementptr inbounds %"struct.std::pair.35"* %9, i32 -1
  call void @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE9constructEPSJ_RKSJ_(%"class.__gnu_cxx::new_allocator.33"* %5, %"struct.std::pair.35"* %7, %"struct.std::pair.35"* %add.ptr)
  %10 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl8 = getelementptr inbounds %"struct.std::_Vector_base.31"* %10, i32 0, i32 0
  %_M_finish9 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl8, i32 0, i32 1
  %11 = load %"struct.std::pair.35"** %_M_finish9, align 4
  %incdec.ptr = getelementptr inbounds %"struct.std::pair.35"* %11, i32 1
  store %"struct.std::pair.35"* %incdec.ptr, %"struct.std::pair.35"** %_M_finish9, align 4
  %12 = load %"struct.std::pair.35"** %__x.addr, align 4
  %13 = bitcast %"struct.std::pair.35"* %__x_copy to i8*
  %14 = bitcast %"struct.std::pair.35"* %12 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %13, i8* %14, i32 20, i32 4, i1 false)
  %call = call %"struct.std::pair.35"** @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.41"* %__position)
  %15 = load %"struct.std::pair.35"** %call
  %16 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl10 = getelementptr inbounds %"struct.std::_Vector_base.31"* %16, i32 0, i32 0
  %_M_finish11 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl10, i32 0, i32 1
  %17 = load %"struct.std::pair.35"** %_M_finish11, align 4
  %add.ptr12 = getelementptr inbounds %"struct.std::pair.35"* %17, i32 -2
  %18 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl13 = getelementptr inbounds %"struct.std::_Vector_base.31"* %18, i32 0, i32 0
  %_M_finish14 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl13, i32 0, i32 1
  %19 = load %"struct.std::pair.35"** %_M_finish14, align 4
  %add.ptr15 = getelementptr inbounds %"struct.std::pair.35"* %19, i32 -1
  %call16 = call %"struct.std::pair.35"* @_ZSt13copy_backwardIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESK_ET0_T_SM_SL_(%"struct.std::pair.35"* %15, %"struct.std::pair.35"* %add.ptr12, %"struct.std::pair.35"* %add.ptr15)
  %call17 = call %"struct.std::pair.35"* @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.41"* %__position)
  %20 = bitcast %"struct.std::pair.35"* %call17 to i8*
  %21 = bitcast %"struct.std::pair.35"* %__x_copy to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %20, i8* %21, i32 20, i32 4, i1 false)
  br label %if.end68

if.else:                                          ; preds = %entry
  %call18 = call i32 @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE12_M_check_lenEjPKc(%"class.std::vector.30"* %this1, i32 1, i8* getelementptr inbounds ([22 x i8]* @.str9, i32 0, i32 0))
  store i32 %call18, i32* %__len, align 4
  call void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.41"* sret %ref.tmp, %"class.std::vector.30"* %this1)
  %call19 = call i32 @_ZN9__gnu_cxxmiIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EESA_ISJ_SaISJ_EEEENS5_IT_T0_E15difference_typeERKSP_SS_(%"class.__gnu_cxx::__normal_iterator.41"* %__position, %"class.__gnu_cxx::__normal_iterator.41"* %ref.tmp)
  store i32 %call19, i32* %__elems_before, align 4
  %22 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %23 = load i32* %__len, align 4
  %call20 = call %"struct.std::pair.35"* @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE11_M_allocateEj(%"struct.std::_Vector_base.31"* %22, i32 %23)
  store %"struct.std::pair.35"* %call20, %"struct.std::pair.35"** %__new_start, align 4
  %24 = load %"struct.std::pair.35"** %__new_start, align 4
  store %"struct.std::pair.35"* %24, %"struct.std::pair.35"** %__new_finish, align 4
  %25 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl21 = getelementptr inbounds %"struct.std::_Vector_base.31"* %25, i32 0, i32 0
  %26 = bitcast %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl21 to %"class.__gnu_cxx::new_allocator.33"*
  %27 = load %"struct.std::pair.35"** %__new_start, align 4
  %28 = load i32* %__elems_before, align 4
  %add.ptr22 = getelementptr inbounds %"struct.std::pair.35"* %27, i32 %28
  %29 = load %"struct.std::pair.35"** %__x.addr, align 4
  invoke void @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE9constructEPSJ_RKSJ_(%"class.__gnu_cxx::new_allocator.33"* %26, %"struct.std::pair.35"* %add.ptr22, %"struct.std::pair.35"* %29)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %if.else
  store %"struct.std::pair.35"* null, %"struct.std::pair.35"** %__new_finish, align 4
  %30 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl23 = getelementptr inbounds %"struct.std::_Vector_base.31"* %30, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl23, i32 0, i32 0
  %31 = load %"struct.std::pair.35"** %_M_start, align 4
  %call25 = invoke %"struct.std::pair.35"** @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.41"* %__position)
          to label %invoke.cont24 unwind label %lpad

invoke.cont24:                                    ; preds = %invoke.cont
  %32 = load %"struct.std::pair.35"** %call25
  %33 = load %"struct.std::pair.35"** %__new_start, align 4
  %34 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %call27 = invoke %"class.std::allocator.32"* @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.31"* %34)
          to label %invoke.cont26 unwind label %lpad

invoke.cont26:                                    ; preds = %invoke.cont24
  %call29 = invoke %"struct.std::pair.35"* @_ZSt22__uninitialized_move_aIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESK_SaISJ_EET0_T_SN_SM_RT1_(%"struct.std::pair.35"* %31, %"struct.std::pair.35"* %32, %"struct.std::pair.35"* %33, %"class.std::allocator.32"* %call27)
          to label %invoke.cont28 unwind label %lpad

invoke.cont28:                                    ; preds = %invoke.cont26
  store %"struct.std::pair.35"* %call29, %"struct.std::pair.35"** %__new_finish, align 4
  %35 = load %"struct.std::pair.35"** %__new_finish, align 4
  %incdec.ptr30 = getelementptr inbounds %"struct.std::pair.35"* %35, i32 1
  store %"struct.std::pair.35"* %incdec.ptr30, %"struct.std::pair.35"** %__new_finish, align 4
  %call32 = invoke %"struct.std::pair.35"** @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.41"* %__position)
          to label %invoke.cont31 unwind label %lpad

invoke.cont31:                                    ; preds = %invoke.cont28
  %36 = load %"struct.std::pair.35"** %call32
  %37 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl33 = getelementptr inbounds %"struct.std::_Vector_base.31"* %37, i32 0, i32 0
  %_M_finish34 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl33, i32 0, i32 1
  %38 = load %"struct.std::pair.35"** %_M_finish34, align 4
  %39 = load %"struct.std::pair.35"** %__new_finish, align 4
  %40 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %call36 = invoke %"class.std::allocator.32"* @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.31"* %40)
          to label %invoke.cont35 unwind label %lpad

invoke.cont35:                                    ; preds = %invoke.cont31
  %call38 = invoke %"struct.std::pair.35"* @_ZSt22__uninitialized_move_aIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESK_SaISJ_EET0_T_SN_SM_RT1_(%"struct.std::pair.35"* %36, %"struct.std::pair.35"* %38, %"struct.std::pair.35"* %39, %"class.std::allocator.32"* %call36)
          to label %invoke.cont37 unwind label %lpad

invoke.cont37:                                    ; preds = %invoke.cont35
  store %"struct.std::pair.35"* %call38, %"struct.std::pair.35"** %__new_finish, align 4
  br label %try.cont

lpad:                                             ; preds = %invoke.cont35, %invoke.cont31, %invoke.cont28, %invoke.cont26, %invoke.cont24, %invoke.cont, %if.else
  %41 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %42 = extractvalue { i8*, i32 } %41, 0
  store i8* %42, i8** %exn.slot
  %43 = extractvalue { i8*, i32 } %41, 1
  store i32 %43, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %44 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %45 = load %"struct.std::pair.35"** %__new_finish, align 4
  %tobool = icmp ne %"struct.std::pair.35"* %45, null
  br i1 %tobool, label %if.else44, label %if.then39

if.then39:                                        ; preds = %catch
  %46 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl40 = getelementptr inbounds %"struct.std::_Vector_base.31"* %46, i32 0, i32 0
  %47 = bitcast %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl40 to %"class.__gnu_cxx::new_allocator.33"*
  %48 = load %"struct.std::pair.35"** %__new_start, align 4
  %49 = load i32* %__elems_before, align 4
  %add.ptr41 = getelementptr inbounds %"struct.std::pair.35"* %48, i32 %49
  invoke void @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE7destroyEPSJ_(%"class.__gnu_cxx::new_allocator.33"* %47, %"struct.std::pair.35"* %add.ptr41)
          to label %invoke.cont43 unwind label %lpad42

invoke.cont43:                                    ; preds = %if.then39
  br label %if.end

lpad42:                                           ; preds = %invoke.cont48, %if.end, %invoke.cont45, %if.else44, %if.then39
  %50 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %51 = extractvalue { i8*, i32 } %50, 0
  store i8* %51, i8** %exn.slot
  %52 = extractvalue { i8*, i32 } %50, 1
  store i32 %52, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont49 unwind label %terminate.lpad

if.else44:                                        ; preds = %catch
  %53 = load %"struct.std::pair.35"** %__new_start, align 4
  %54 = load %"struct.std::pair.35"** %__new_finish, align 4
  %55 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %call46 = invoke %"class.std::allocator.32"* @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.31"* %55)
          to label %invoke.cont45 unwind label %lpad42

invoke.cont45:                                    ; preds = %if.else44
  invoke void @_ZSt8_DestroyIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESJ_EvT_SL_RSaIT0_E(%"struct.std::pair.35"* %53, %"struct.std::pair.35"* %54, %"class.std::allocator.32"* %call46)
          to label %invoke.cont47 unwind label %lpad42

invoke.cont47:                                    ; preds = %invoke.cont45
  br label %if.end

if.end:                                           ; preds = %invoke.cont47, %invoke.cont43
  %56 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %57 = load %"struct.std::pair.35"** %__new_start, align 4
  %58 = load i32* %__len, align 4
  invoke void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE13_M_deallocateEPSJ_j(%"struct.std::_Vector_base.31"* %56, %"struct.std::pair.35"* %57, i32 %58)
          to label %invoke.cont48 unwind label %lpad42

invoke.cont48:                                    ; preds = %if.end
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad42

invoke.cont49:                                    ; preds = %lpad42
  br label %eh.resume

try.cont:                                         ; preds = %invoke.cont37
  %59 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl50 = getelementptr inbounds %"struct.std::_Vector_base.31"* %59, i32 0, i32 0
  %_M_start51 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl50, i32 0, i32 0
  %60 = load %"struct.std::pair.35"** %_M_start51, align 4
  %61 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl52 = getelementptr inbounds %"struct.std::_Vector_base.31"* %61, i32 0, i32 0
  %_M_finish53 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl52, i32 0, i32 1
  %62 = load %"struct.std::pair.35"** %_M_finish53, align 4
  %63 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %call54 = call %"class.std::allocator.32"* @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.31"* %63)
  call void @_ZSt8_DestroyIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESJ_EvT_SL_RSaIT0_E(%"struct.std::pair.35"* %60, %"struct.std::pair.35"* %62, %"class.std::allocator.32"* %call54)
  %64 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %65 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl55 = getelementptr inbounds %"struct.std::_Vector_base.31"* %65, i32 0, i32 0
  %_M_start56 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl55, i32 0, i32 0
  %66 = load %"struct.std::pair.35"** %_M_start56, align 4
  %67 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl57 = getelementptr inbounds %"struct.std::_Vector_base.31"* %67, i32 0, i32 0
  %_M_end_of_storage58 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl57, i32 0, i32 2
  %68 = load %"struct.std::pair.35"** %_M_end_of_storage58, align 4
  %69 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl59 = getelementptr inbounds %"struct.std::_Vector_base.31"* %69, i32 0, i32 0
  %_M_start60 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl59, i32 0, i32 0
  %70 = load %"struct.std::pair.35"** %_M_start60, align 4
  %sub.ptr.lhs.cast = ptrtoint %"struct.std::pair.35"* %68 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.std::pair.35"* %70 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 20
  call void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE13_M_deallocateEPSJ_j(%"struct.std::_Vector_base.31"* %64, %"struct.std::pair.35"* %66, i32 %sub.ptr.div)
  %71 = load %"struct.std::pair.35"** %__new_start, align 4
  %72 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl61 = getelementptr inbounds %"struct.std::_Vector_base.31"* %72, i32 0, i32 0
  %_M_start62 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl61, i32 0, i32 0
  store %"struct.std::pair.35"* %71, %"struct.std::pair.35"** %_M_start62, align 4
  %73 = load %"struct.std::pair.35"** %__new_finish, align 4
  %74 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl63 = getelementptr inbounds %"struct.std::_Vector_base.31"* %74, i32 0, i32 0
  %_M_finish64 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl63, i32 0, i32 1
  store %"struct.std::pair.35"* %73, %"struct.std::pair.35"** %_M_finish64, align 4
  %75 = load %"struct.std::pair.35"** %__new_start, align 4
  %76 = load i32* %__len, align 4
  %add.ptr65 = getelementptr inbounds %"struct.std::pair.35"* %75, i32 %76
  %77 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl66 = getelementptr inbounds %"struct.std::_Vector_base.31"* %77, i32 0, i32 0
  %_M_end_of_storage67 = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl66, i32 0, i32 2
  store %"struct.std::pair.35"* %add.ptr65, %"struct.std::pair.35"** %_M_end_of_storage67, align 4
  br label %if.end68

if.end68:                                         ; preds = %try.cont, %if.then
  ret void

eh.resume:                                        ; preds = %invoke.cont49
  %exn69 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn69, 0
  %lpad.val70 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val70

terminate.lpad:                                   ; preds = %lpad42
  %78 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont48
  unreachable
}

define linkonce_odr %"struct.std::pair.35"* @_ZSt13copy_backwardIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESK_ET0_T_SM_SL_(%"struct.std::pair.35"* %__first, %"struct.std::pair.35"* %__last, %"struct.std::pair.35"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"struct.std::pair.35"*, align 4
  %__last.addr = alloca %"struct.std::pair.35"*, align 4
  %__result.addr = alloca %"struct.std::pair.35"*, align 4
  store %"struct.std::pair.35"* %__first, %"struct.std::pair.35"** %__first.addr, align 4
  store %"struct.std::pair.35"* %__last, %"struct.std::pair.35"** %__last.addr, align 4
  store %"struct.std::pair.35"* %__result, %"struct.std::pair.35"** %__result.addr, align 4
  %0 = load %"struct.std::pair.35"** %__first.addr, align 4
  %call = call %"struct.std::pair.35"* @_ZSt12__miter_baseIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EEENSt11_Miter_baseIT_E13iterator_typeESM_(%"struct.std::pair.35"* %0)
  %1 = load %"struct.std::pair.35"** %__last.addr, align 4
  %call1 = call %"struct.std::pair.35"* @_ZSt12__miter_baseIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EEENSt11_Miter_baseIT_E13iterator_typeESM_(%"struct.std::pair.35"* %1)
  %2 = load %"struct.std::pair.35"** %__result.addr, align 4
  %call2 = call %"struct.std::pair.35"* @_ZSt23__copy_move_backward_a2ILb0EPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESK_ET1_T0_SM_SL_(%"struct.std::pair.35"* %call, %"struct.std::pair.35"* %call1, %"struct.std::pair.35"* %2)
  ret %"struct.std::pair.35"* %call2
}

define linkonce_odr %"struct.std::pair.35"** @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.41"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.41"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.41"* %this, %"class.__gnu_cxx::__normal_iterator.41"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.41"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.41"* %this1, i32 0, i32 0
  ret %"struct.std::pair.35"** %_M_current
}

define linkonce_odr i32 @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE12_M_check_lenEjPKc(%"class.std::vector.30"* %this, i32 %__n, i8* %__s) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  %__n.addr = alloca i32, align 4
  %__s.addr = alloca i8*, align 4
  %__len = alloca i32, align 4
  %ref.tmp = alloca i32, align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %__s, i8** %__s.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  %call = call i32 @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE8max_sizeEv(%"class.std::vector.30"* %this1)
  %call2 = call i32 @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE4sizeEv(%"class.std::vector.30"* %this1)
  %sub = sub i32 %call, %call2
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ult i32 %sub, %0
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %1 = load i8** %__s.addr, align 4
  call void @_ZSt20__throw_length_errorPKc(i8* %1) noreturn
  unreachable

if.end:                                           ; preds = %entry
  %call3 = call i32 @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE4sizeEv(%"class.std::vector.30"* %this1)
  %call4 = call i32 @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE4sizeEv(%"class.std::vector.30"* %this1)
  store i32 %call4, i32* %ref.tmp, align 4
  %call5 = call i32* @_ZSt3maxIjERKT_S2_S2_(i32* %ref.tmp, i32* %__n.addr)
  %2 = load i32* %call5
  %add = add i32 %call3, %2
  store i32 %add, i32* %__len, align 4
  %3 = load i32* %__len, align 4
  %call6 = call i32 @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE4sizeEv(%"class.std::vector.30"* %this1)
  %cmp7 = icmp ult i32 %3, %call6
  br i1 %cmp7, label %cond.true, label %lor.lhs.false

lor.lhs.false:                                    ; preds = %if.end
  %4 = load i32* %__len, align 4
  %call8 = call i32 @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE8max_sizeEv(%"class.std::vector.30"* %this1)
  %cmp9 = icmp ugt i32 %4, %call8
  br i1 %cmp9, label %cond.true, label %cond.false

cond.true:                                        ; preds = %lor.lhs.false, %if.end
  %call10 = call i32 @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE8max_sizeEv(%"class.std::vector.30"* %this1)
  br label %cond.end

cond.false:                                       ; preds = %lor.lhs.false
  %5 = load i32* %__len, align 4
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi i32 [ %call10, %cond.true ], [ %5, %cond.false ]
  ret i32 %cond
}

define linkonce_odr i32 @_ZN9__gnu_cxxmiIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EESA_ISJ_SaISJ_EEEENS5_IT_T0_E15difference_typeERKSP_SS_(%"class.__gnu_cxx::__normal_iterator.41"* %__lhs, %"class.__gnu_cxx::__normal_iterator.41"* %__rhs) inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.41"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.41"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.41"* %__lhs, %"class.__gnu_cxx::__normal_iterator.41"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.41"* %__rhs, %"class.__gnu_cxx::__normal_iterator.41"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.41"** %__lhs.addr, align 4
  %call = call %"struct.std::pair.35"** @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.41"* %0)
  %1 = load %"struct.std::pair.35"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator.41"** %__rhs.addr, align 4
  %call1 = call %"struct.std::pair.35"** @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.41"* %2)
  %3 = load %"struct.std::pair.35"** %call1
  %sub.ptr.lhs.cast = ptrtoint %"struct.std::pair.35"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.std::pair.35"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 20
  ret i32 %sub.ptr.div
}

define linkonce_odr void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.41"* noalias sret %agg.result, %"class.std::vector.30"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  %0 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  call void @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIjS1_IN5boost6detail13out_edge_iterINS0_IPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESG_EES9_ISI_SaISI_EEEC1ERKSJ_(%"class.__gnu_cxx::__normal_iterator.41"* %agg.result, %"struct.std::pair.35"** %_M_start)
  ret void
}

define linkonce_odr %"struct.std::pair.35"* @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE11_M_allocateEj(%"struct.std::_Vector_base.31"* %this, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.31"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base.31"* %this, %"struct.std::_Vector_base.31"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base.31"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ne i32 %0, 0
  br i1 %cmp, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.33"*
  %2 = load i32* %__n.addr, align 4
  %call = call %"struct.std::pair.35"* @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.33"* %1, i32 %2, i8* null)
  br label %cond.end

cond.false:                                       ; preds = %entry
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi %"struct.std::pair.35"* [ %call, %cond.true ], [ null, %cond.false ]
  ret %"struct.std::pair.35"* %cond
}

define linkonce_odr %"struct.std::pair.35"* @_ZSt22__uninitialized_move_aIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESK_SaISJ_EET0_T_SN_SM_RT1_(%"struct.std::pair.35"* %__first, %"struct.std::pair.35"* %__last, %"struct.std::pair.35"* %__result, %"class.std::allocator.32"* %__alloc) inlinehint {
entry:
  %__first.addr = alloca %"struct.std::pair.35"*, align 4
  %__last.addr = alloca %"struct.std::pair.35"*, align 4
  %__result.addr = alloca %"struct.std::pair.35"*, align 4
  %__alloc.addr = alloca %"class.std::allocator.32"*, align 4
  store %"struct.std::pair.35"* %__first, %"struct.std::pair.35"** %__first.addr, align 4
  store %"struct.std::pair.35"* %__last, %"struct.std::pair.35"** %__last.addr, align 4
  store %"struct.std::pair.35"* %__result, %"struct.std::pair.35"** %__result.addr, align 4
  store %"class.std::allocator.32"* %__alloc, %"class.std::allocator.32"** %__alloc.addr, align 4
  %0 = load %"struct.std::pair.35"** %__first.addr, align 4
  %1 = load %"struct.std::pair.35"** %__last.addr, align 4
  %2 = load %"struct.std::pair.35"** %__result.addr, align 4
  %3 = load %"class.std::allocator.32"** %__alloc.addr, align 4
  %call = call %"struct.std::pair.35"* @_ZSt22__uninitialized_copy_aIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESK_SJ_ET0_T_SM_SL_RSaIT1_E(%"struct.std::pair.35"* %0, %"struct.std::pair.35"* %1, %"struct.std::pair.35"* %2, %"class.std::allocator.32"* %3)
  ret %"struct.std::pair.35"* %call
}

define linkonce_odr %"struct.std::pair.35"* @_ZSt22__uninitialized_copy_aIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESK_SJ_ET0_T_SM_SL_RSaIT1_E(%"struct.std::pair.35"* %__first, %"struct.std::pair.35"* %__last, %"struct.std::pair.35"* %__result, %"class.std::allocator.32"*) inlinehint {
entry:
  %__first.addr = alloca %"struct.std::pair.35"*, align 4
  %__last.addr = alloca %"struct.std::pair.35"*, align 4
  %__result.addr = alloca %"struct.std::pair.35"*, align 4
  %.addr = alloca %"class.std::allocator.32"*, align 4
  store %"struct.std::pair.35"* %__first, %"struct.std::pair.35"** %__first.addr, align 4
  store %"struct.std::pair.35"* %__last, %"struct.std::pair.35"** %__last.addr, align 4
  store %"struct.std::pair.35"* %__result, %"struct.std::pair.35"** %__result.addr, align 4
  store %"class.std::allocator.32"* %0, %"class.std::allocator.32"** %.addr, align 4
  %1 = load %"struct.std::pair.35"** %__first.addr, align 4
  %2 = load %"struct.std::pair.35"** %__last.addr, align 4
  %3 = load %"struct.std::pair.35"** %__result.addr, align 4
  %call = call %"struct.std::pair.35"* @_ZSt18uninitialized_copyIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESK_ET0_T_SM_SL_(%"struct.std::pair.35"* %1, %"struct.std::pair.35"* %2, %"struct.std::pair.35"* %3)
  ret %"struct.std::pair.35"* %call
}

define linkonce_odr %"struct.std::pair.35"* @_ZSt18uninitialized_copyIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESK_ET0_T_SM_SL_(%"struct.std::pair.35"* %__first, %"struct.std::pair.35"* %__last, %"struct.std::pair.35"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"struct.std::pair.35"*, align 4
  %__last.addr = alloca %"struct.std::pair.35"*, align 4
  %__result.addr = alloca %"struct.std::pair.35"*, align 4
  store %"struct.std::pair.35"* %__first, %"struct.std::pair.35"** %__first.addr, align 4
  store %"struct.std::pair.35"* %__last, %"struct.std::pair.35"** %__last.addr, align 4
  store %"struct.std::pair.35"* %__result, %"struct.std::pair.35"** %__result.addr, align 4
  %0 = load %"struct.std::pair.35"** %__first.addr, align 4
  %1 = load %"struct.std::pair.35"** %__last.addr, align 4
  %2 = load %"struct.std::pair.35"** %__result.addr, align 4
  %call = call %"struct.std::pair.35"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPSt4pairIjS2_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS4_20stored_edge_propertyIjNS3_11no_propertyEEESt6vectorISA_SaISA_EEEEjNS4_14edge_desc_implINS3_12directed_tagEjEEiEESJ_EESM_EET0_T_SO_SN_(%"struct.std::pair.35"* %0, %"struct.std::pair.35"* %1, %"struct.std::pair.35"* %2)
  ret %"struct.std::pair.35"* %call
}

define linkonce_odr %"struct.std::pair.35"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPSt4pairIjS2_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS4_20stored_edge_propertyIjNS3_11no_propertyEEESt6vectorISA_SaISA_EEEEjNS4_14edge_desc_implINS3_12directed_tagEjEEiEESJ_EESM_EET0_T_SO_SN_(%"struct.std::pair.35"* %__first, %"struct.std::pair.35"* %__last, %"struct.std::pair.35"* %__result) align 2 {
entry:
  %__first.addr = alloca %"struct.std::pair.35"*, align 4
  %__last.addr = alloca %"struct.std::pair.35"*, align 4
  %__result.addr = alloca %"struct.std::pair.35"*, align 4
  %__cur = alloca %"struct.std::pair.35"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::pair.35"* %__first, %"struct.std::pair.35"** %__first.addr, align 4
  store %"struct.std::pair.35"* %__last, %"struct.std::pair.35"** %__last.addr, align 4
  store %"struct.std::pair.35"* %__result, %"struct.std::pair.35"** %__result.addr, align 4
  %0 = load %"struct.std::pair.35"** %__result.addr, align 4
  store %"struct.std::pair.35"* %0, %"struct.std::pair.35"** %__cur, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %1 = load %"struct.std::pair.35"** %__first.addr, align 4
  %2 = load %"struct.std::pair.35"** %__last.addr, align 4
  %cmp = icmp ne %"struct.std::pair.35"* %1, %2
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"struct.std::pair.35"** %__cur, align 4
  %call = invoke %"struct.std::pair.35"* @_ZSt11__addressofISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EEEPT_RSK_(%"struct.std::pair.35"* %3)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %for.body
  %4 = load %"struct.std::pair.35"** %__first.addr, align 4
  invoke void @_ZSt10_ConstructISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESJ_EvPT_RKT0_(%"struct.std::pair.35"* %call, %"struct.std::pair.35"* %4)
          to label %invoke.cont1 unwind label %lpad

invoke.cont1:                                     ; preds = %invoke.cont
  br label %for.inc

for.inc:                                          ; preds = %invoke.cont1
  %5 = load %"struct.std::pair.35"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"struct.std::pair.35"* %5, i32 1
  store %"struct.std::pair.35"* %incdec.ptr, %"struct.std::pair.35"** %__first.addr, align 4
  %6 = load %"struct.std::pair.35"** %__cur, align 4
  %incdec.ptr2 = getelementptr inbounds %"struct.std::pair.35"* %6, i32 1
  store %"struct.std::pair.35"* %incdec.ptr2, %"struct.std::pair.35"** %__cur, align 4
  br label %for.cond

lpad:                                             ; preds = %invoke.cont, %for.body
  %7 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %8 = extractvalue { i8*, i32 } %7, 0
  store i8* %8, i8** %exn.slot
  %9 = extractvalue { i8*, i32 } %7, 1
  store i32 %9, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %10 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %11 = load %"struct.std::pair.35"** %__result.addr, align 4
  %12 = load %"struct.std::pair.35"** %__cur, align 4
  invoke void @_ZSt8_DestroyIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EEEvT_SL_(%"struct.std::pair.35"* %11, %"struct.std::pair.35"* %12)
          to label %invoke.cont4 unwind label %lpad3

invoke.cont4:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad3

for.end:                                          ; preds = %for.cond
  %13 = load %"struct.std::pair.35"** %__cur, align 4
  ret %"struct.std::pair.35"* %13

lpad3:                                            ; preds = %invoke.cont4, %catch
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont5 unwind label %terminate.lpad

invoke.cont5:                                     ; preds = %lpad3
  br label %eh.resume

try.cont:                                         ; No predecessors!
  call void @llvm.trap()
  unreachable

eh.resume:                                        ; preds = %invoke.cont5
  %exn6 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn6, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7

terminate.lpad:                                   ; preds = %lpad3
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont4
  unreachable
}

define linkonce_odr void @_ZSt10_ConstructISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESJ_EvPT_RKT0_(%"struct.std::pair.35"* %__p, %"struct.std::pair.35"* %__value) nounwind inlinehint {
entry:
  %__p.addr = alloca %"struct.std::pair.35"*, align 4
  %__value.addr = alloca %"struct.std::pair.35"*, align 4
  store %"struct.std::pair.35"* %__p, %"struct.std::pair.35"** %__p.addr, align 4
  store %"struct.std::pair.35"* %__value, %"struct.std::pair.35"** %__value.addr, align 4
  %0 = load %"struct.std::pair.35"** %__p.addr, align 4
  %1 = bitcast %"struct.std::pair.35"* %0 to i8*
  %new.isnull = icmp eq i8* %1, null
  br i1 %new.isnull, label %new.cont, label %new.notnull

new.notnull:                                      ; preds = %entry
  %2 = bitcast i8* %1 to %"struct.std::pair.35"*
  %3 = load %"struct.std::pair.35"** %__value.addr, align 4
  %4 = bitcast %"struct.std::pair.35"* %2 to i8*
  %5 = bitcast %"struct.std::pair.35"* %3 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 20, i32 4, i1 false)
  br label %new.cont

new.cont:                                         ; preds = %new.notnull, %entry
  %6 = phi %"struct.std::pair.35"* [ %2, %new.notnull ], [ null, %entry ]
  ret void
}

define linkonce_odr %"struct.std::pair.35"* @_ZSt11__addressofISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EEEPT_RSK_(%"struct.std::pair.35"* %__r) nounwind inlinehint {
entry:
  %__r.addr = alloca %"struct.std::pair.35"*, align 4
  store %"struct.std::pair.35"* %__r, %"struct.std::pair.35"** %__r.addr, align 4
  %0 = load %"struct.std::pair.35"** %__r.addr, align 4
  %1 = bitcast %"struct.std::pair.35"* %0 to i8*
  %2 = bitcast i8* %1 to %"struct.std::pair.35"*
  ret %"struct.std::pair.35"* %2
}

declare void @llvm.trap() noreturn nounwind

define linkonce_odr %"struct.std::pair.35"* @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.33"* %this, i32 %__n, i8*) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.33"*, align 4
  %__n.addr = alloca i32, align 4
  %.addr = alloca i8*, align 4
  store %"class.__gnu_cxx::new_allocator.33"* %this, %"class.__gnu_cxx::new_allocator.33"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %0, i8** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.33"** %this.addr
  %1 = load i32* %__n.addr, align 4
  %call = call i32 @_ZNK9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.33"* %this1) nounwind
  %cmp = icmp ugt i32 %1, %call
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  call void @_ZSt17__throw_bad_allocv() noreturn
  unreachable

if.end:                                           ; preds = %entry
  %2 = load i32* %__n.addr, align 4
  %mul = mul i32 %2, 20
  %call2 = call noalias i8* @_Znwj(i32 %mul)
  %3 = bitcast i8* %call2 to %"struct.std::pair.35"*
  ret %"struct.std::pair.35"* %3
}

define linkonce_odr i32 @_ZNK9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.33"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.33"*, align 4
  store %"class.__gnu_cxx::new_allocator.33"* %this, %"class.__gnu_cxx::new_allocator.33"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.33"** %this.addr
  ret i32 214748364
}

declare void @_ZSt17__throw_bad_allocv() noreturn

define linkonce_odr i32 @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE8max_sizeEv(%"class.std::vector.30"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  %0 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %call = call %"class.std::allocator.32"* @_ZNKSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.31"* %0)
  %1 = bitcast %"class.std::allocator.32"* %call to %"class.__gnu_cxx::new_allocator.33"*
  %call2 = call i32 @_ZNK9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.33"* %1) nounwind
  ret i32 %call2
}

define linkonce_odr i32 @_ZNKSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EE4sizeEv(%"class.std::vector.30"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  %0 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"struct.std::pair.35"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.31"* %2, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  %3 = load %"struct.std::pair.35"** %_M_start, align 4
  %sub.ptr.lhs.cast = ptrtoint %"struct.std::pair.35"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.std::pair.35"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 20
  ret i32 %sub.ptr.div
}

declare void @_ZSt20__throw_length_errorPKc(i8*) noreturn

define linkonce_odr i32* @_ZSt3maxIjERKT_S2_S2_(i32* %__a, i32* %__b) nounwind {
entry:
  %retval = alloca i32*, align 4
  %__a.addr = alloca i32*, align 4
  %__b.addr = alloca i32*, align 4
  store i32* %__a, i32** %__a.addr, align 4
  store i32* %__b, i32** %__b.addr, align 4
  %0 = load i32** %__a.addr, align 4
  %1 = load i32* %0, align 4
  %2 = load i32** %__b.addr, align 4
  %3 = load i32* %2, align 4
  %cmp = icmp ult i32 %1, %3
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %4 = load i32** %__b.addr, align 4
  store i32* %4, i32** %retval
  br label %return

if.end:                                           ; preds = %entry
  %5 = load i32** %__a.addr, align 4
  store i32* %5, i32** %retval
  br label %return

return:                                           ; preds = %if.end, %if.then
  %6 = load i32** %retval
  ret i32* %6
}

define linkonce_odr %"class.std::allocator.32"* @_ZNKSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.31"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.31"*, align 4
  store %"struct.std::_Vector_base.31"* %this, %"struct.std::_Vector_base.31"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.31"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl to %"class.std::allocator.32"*
  ret %"class.std::allocator.32"* %0
}

define linkonce_odr %"struct.std::pair.35"* @_ZSt23__copy_move_backward_a2ILb0EPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESK_ET1_T0_SM_SL_(%"struct.std::pair.35"* %__first, %"struct.std::pair.35"* %__last, %"struct.std::pair.35"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"struct.std::pair.35"*, align 4
  %__last.addr = alloca %"struct.std::pair.35"*, align 4
  %__result.addr = alloca %"struct.std::pair.35"*, align 4
  store %"struct.std::pair.35"* %__first, %"struct.std::pair.35"** %__first.addr, align 4
  store %"struct.std::pair.35"* %__last, %"struct.std::pair.35"** %__last.addr, align 4
  store %"struct.std::pair.35"* %__result, %"struct.std::pair.35"** %__result.addr, align 4
  %0 = load %"struct.std::pair.35"** %__first.addr, align 4
  %call = call %"struct.std::pair.35"* @_ZSt12__niter_baseIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EEENSt11_Niter_baseIT_E13iterator_typeESM_(%"struct.std::pair.35"* %0)
  %1 = load %"struct.std::pair.35"** %__last.addr, align 4
  %call1 = call %"struct.std::pair.35"* @_ZSt12__niter_baseIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EEENSt11_Niter_baseIT_E13iterator_typeESM_(%"struct.std::pair.35"* %1)
  %2 = load %"struct.std::pair.35"** %__result.addr, align 4
  %call2 = call %"struct.std::pair.35"* @_ZSt12__niter_baseIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EEENSt11_Niter_baseIT_E13iterator_typeESM_(%"struct.std::pair.35"* %2)
  %call3 = call %"struct.std::pair.35"* @_ZSt22__copy_move_backward_aILb0EPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESK_ET1_T0_SM_SL_(%"struct.std::pair.35"* %call, %"struct.std::pair.35"* %call1, %"struct.std::pair.35"* %call2)
  ret %"struct.std::pair.35"* %call3
}

define linkonce_odr %"struct.std::pair.35"* @_ZSt12__miter_baseIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EEENSt11_Miter_baseIT_E13iterator_typeESM_(%"struct.std::pair.35"* %__it) inlinehint {
entry:
  %__it.addr = alloca %"struct.std::pair.35"*, align 4
  store %"struct.std::pair.35"* %__it, %"struct.std::pair.35"** %__it.addr, align 4
  %0 = load %"struct.std::pair.35"** %__it.addr, align 4
  %call = call %"struct.std::pair.35"* @_ZNSt10_Iter_baseIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EELb0EE7_S_baseESK_(%"struct.std::pair.35"* %0)
  ret %"struct.std::pair.35"* %call
}

define linkonce_odr %"struct.std::pair.35"* @_ZNSt10_Iter_baseIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EELb0EE7_S_baseESK_(%"struct.std::pair.35"* %__it) nounwind align 2 {
entry:
  %__it.addr = alloca %"struct.std::pair.35"*, align 4
  store %"struct.std::pair.35"* %__it, %"struct.std::pair.35"** %__it.addr, align 4
  %0 = load %"struct.std::pair.35"** %__it.addr, align 4
  ret %"struct.std::pair.35"* %0
}

define linkonce_odr %"struct.std::pair.35"* @_ZSt22__copy_move_backward_aILb0EPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESK_ET1_T0_SM_SL_(%"struct.std::pair.35"* %__first, %"struct.std::pair.35"* %__last, %"struct.std::pair.35"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"struct.std::pair.35"*, align 4
  %__last.addr = alloca %"struct.std::pair.35"*, align 4
  %__result.addr = alloca %"struct.std::pair.35"*, align 4
  %__simple = alloca i8, align 1
  store %"struct.std::pair.35"* %__first, %"struct.std::pair.35"** %__first.addr, align 4
  store %"struct.std::pair.35"* %__last, %"struct.std::pair.35"** %__last.addr, align 4
  store %"struct.std::pair.35"* %__result, %"struct.std::pair.35"** %__result.addr, align 4
  store i8 0, i8* %__simple, align 1
  %0 = load %"struct.std::pair.35"** %__first.addr, align 4
  %1 = load %"struct.std::pair.35"** %__last.addr, align 4
  %2 = load %"struct.std::pair.35"** %__result.addr, align 4
  %call = call %"struct.std::pair.35"* @_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bIPSt4pairIjS3_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS5_20stored_edge_propertyIjNS4_11no_propertyEEESt6vectorISB_SaISB_EEEEjNS5_14edge_desc_implINS4_12directed_tagEjEEiEESK_EESN_EET0_T_SP_SO_(%"struct.std::pair.35"* %0, %"struct.std::pair.35"* %1, %"struct.std::pair.35"* %2)
  ret %"struct.std::pair.35"* %call
}

define linkonce_odr %"struct.std::pair.35"* @_ZSt12__niter_baseIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EEENSt11_Niter_baseIT_E13iterator_typeESM_(%"struct.std::pair.35"* %__it) nounwind inlinehint {
entry:
  %__it.addr = alloca %"struct.std::pair.35"*, align 4
  store %"struct.std::pair.35"* %__it, %"struct.std::pair.35"** %__it.addr, align 4
  %0 = load %"struct.std::pair.35"** %__it.addr, align 4
  %call = call %"struct.std::pair.35"* @_ZNSt10_Iter_baseIPSt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EELb0EE7_S_baseESK_(%"struct.std::pair.35"* %0)
  ret %"struct.std::pair.35"* %call
}

define linkonce_odr %"struct.std::pair.35"* @_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bIPSt4pairIjS3_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS5_20stored_edge_propertyIjNS4_11no_propertyEEESt6vectorISB_SaISB_EEEEjNS5_14edge_desc_implINS4_12directed_tagEjEEiEESK_EESN_EET0_T_SP_SO_(%"struct.std::pair.35"* %__first, %"struct.std::pair.35"* %__last, %"struct.std::pair.35"* %__result) nounwind align 2 {
entry:
  %__first.addr = alloca %"struct.std::pair.35"*, align 4
  %__last.addr = alloca %"struct.std::pair.35"*, align 4
  %__result.addr = alloca %"struct.std::pair.35"*, align 4
  %__n = alloca i32, align 4
  store %"struct.std::pair.35"* %__first, %"struct.std::pair.35"** %__first.addr, align 4
  store %"struct.std::pair.35"* %__last, %"struct.std::pair.35"** %__last.addr, align 4
  store %"struct.std::pair.35"* %__result, %"struct.std::pair.35"** %__result.addr, align 4
  %0 = load %"struct.std::pair.35"** %__last.addr, align 4
  %1 = load %"struct.std::pair.35"** %__first.addr, align 4
  %sub.ptr.lhs.cast = ptrtoint %"struct.std::pair.35"* %0 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.std::pair.35"* %1 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 20
  store i32 %sub.ptr.div, i32* %__n, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %2 = load i32* %__n, align 4
  %cmp = icmp sgt i32 %2, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"struct.std::pair.35"** %__result.addr, align 4
  %incdec.ptr = getelementptr inbounds %"struct.std::pair.35"* %3, i32 -1
  store %"struct.std::pair.35"* %incdec.ptr, %"struct.std::pair.35"** %__result.addr, align 4
  %4 = load %"struct.std::pair.35"** %__last.addr, align 4
  %incdec.ptr1 = getelementptr inbounds %"struct.std::pair.35"* %4, i32 -1
  store %"struct.std::pair.35"* %incdec.ptr1, %"struct.std::pair.35"** %__last.addr, align 4
  %5 = bitcast %"struct.std::pair.35"* %incdec.ptr to i8*
  %6 = bitcast %"struct.std::pair.35"* %incdec.ptr1 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %5, i8* %6, i32 20, i32 4, i1 false)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %7 = load i32* %__n, align 4
  %dec = add nsw i32 %7, -1
  store i32 %dec, i32* %__n, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %8 = load %"struct.std::pair.35"** %__result.addr, align 4
  ret %"struct.std::pair.35"* %8
}

define linkonce_odr void @_ZN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS0_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEjNS0_14edge_desc_implINS_12directed_tagEjEEiEC1ERKSB_RKj(%"struct.boost::detail::out_edge_iter"* %this, %"class.__gnu_cxx::__normal_iterator.29"* %i, i32* %src) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %i.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  %src.addr = alloca i32*, align 4
  store %"struct.boost::detail::out_edge_iter"* %this, %"struct.boost::detail::out_edge_iter"** %this.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %i, %"class.__gnu_cxx::__normal_iterator.29"** %i.addr, align 4
  store i32* %src, i32** %src.addr, align 4
  %this1 = load %"struct.boost::detail::out_edge_iter"** %this.addr
  %0 = load i32** %src.addr
  %1 = load %"class.__gnu_cxx::__normal_iterator.29"** %i.addr
  call void @_ZN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS0_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEjNS0_14edge_desc_implINS_12directed_tagEjEEiEC2ERKSB_RKj(%"struct.boost::detail::out_edge_iter"* %this1, %"class.__gnu_cxx::__normal_iterator.29"* %1, i32* %0)
  ret void
}

define linkonce_odr %"class.std::vector.11"* @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEE13out_edge_listEj(%"class.boost::vec_adj_list_impl"* %this, i32 %v) inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::vec_adj_list_impl"*, align 4
  %v.addr = alloca i32, align 4
  store %"class.boost::vec_adj_list_impl"* %this, %"class.boost::vec_adj_list_impl"** %this.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  %this1 = load %"class.boost::vec_adj_list_impl"** %this.addr
  %m_vertices = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 1
  %0 = load i32* %v.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EEixEj(%"class.std::vector"* %m_vertices, i32 %0)
  %1 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  %m_out_edges = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %1, i32 0, i32 0
  ret %"class.std::vector.11"* %m_out_edges
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.29"* noalias sret %agg.result, %"class.std::vector.11"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC1ERKS6_(%"class.__gnu_cxx::__normal_iterator.29"* %agg.result, %"class.boost::detail::stored_edge_property"** %_M_start)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator.29"* noalias sret %agg.result, %"class.std::vector.11"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC1ERKS6_(%"class.__gnu_cxx::__normal_iterator.29"* %agg.result, %"class.boost::detail::stored_edge_property"** %_M_finish)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC1ERKS6_(%"class.__gnu_cxx::__normal_iterator.29"* %this, %"class.boost::detail::stored_edge_property"** %__i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  %__i.addr = alloca %"class.boost::detail::stored_edge_property"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %this, %"class.__gnu_cxx::__normal_iterator.29"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_property"** %__i, %"class.boost::detail::stored_edge_property"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.29"** %this.addr
  %0 = load %"class.boost::detail::stored_edge_property"*** %__i.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC2ERKS6_(%"class.__gnu_cxx::__normal_iterator.29"* %this1, %"class.boost::detail::stored_edge_property"** %0)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC2ERKS6_(%"class.__gnu_cxx::__normal_iterator.29"* %this, %"class.boost::detail::stored_edge_property"** %__i) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  %__i.addr = alloca %"class.boost::detail::stored_edge_property"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %this, %"class.__gnu_cxx::__normal_iterator.29"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_property"** %__i, %"class.boost::detail::stored_edge_property"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.29"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.29"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_property"*** %__i.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %0, align 4
  store %"class.boost::detail::stored_edge_property"* %1, %"class.boost::detail::stored_edge_property"** %_M_current, align 4
  ret void
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EEixEj(%"class.std::vector"* %this, i32 %__n) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %2 = load i32* %__n.addr, align 4
  %add.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1, i32 %2
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr
}

define linkonce_odr void @_ZN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS0_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEjNS0_14edge_desc_implINS_12directed_tagEjEEiEC2ERKSB_RKj(%"struct.boost::detail::out_edge_iter"* %this, %"class.__gnu_cxx::__normal_iterator.29"* %i, i32* %src) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %i.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  %src.addr = alloca i32*, align 4
  store %"struct.boost::detail::out_edge_iter"* %this, %"struct.boost::detail::out_edge_iter"** %this.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %i, %"class.__gnu_cxx::__normal_iterator.29"** %i.addr, align 4
  store i32* %src, i32** %src.addr, align 4
  %this1 = load %"struct.boost::detail::out_edge_iter"** %this.addr
  %0 = bitcast %"struct.boost::detail::out_edge_iter"* %this1 to %"class.boost::iterator_adaptor"*
  %1 = load %"class.__gnu_cxx::__normal_iterator.29"** %i.addr, align 4
  call void @_ZN5boost16iterator_adaptorINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESC_SF_NS_11use_defaultESF_iEC2ERKSC_(%"class.boost::iterator_adaptor"* %0, %"class.__gnu_cxx::__normal_iterator.29"* %1)
  %m_src = getelementptr inbounds %"struct.boost::detail::out_edge_iter"* %this1, i32 0, i32 1
  %2 = load i32** %src.addr, align 4
  %3 = load i32* %2, align 4
  store i32 %3, i32* %m_src, align 4
  ret void
}

define linkonce_odr void @_ZN5boost16iterator_adaptorINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESC_SF_NS_11use_defaultESF_iEC2ERKSC_(%"class.boost::iterator_adaptor"* %this, %"class.__gnu_cxx::__normal_iterator.29"* %iter) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_adaptor"*, align 4
  %iter.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  store %"class.boost::iterator_adaptor"* %this, %"class.boost::iterator_adaptor"** %this.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %iter, %"class.__gnu_cxx::__normal_iterator.29"** %iter.addr, align 4
  %this1 = load %"class.boost::iterator_adaptor"** %this.addr
  %0 = bitcast %"class.boost::iterator_adaptor"* %this1 to %"class.boost::iterator_facade.28"*
  %m_iterator = getelementptr inbounds %"class.boost::iterator_adaptor"* %this1, i32 0, i32 0
  %1 = load %"class.__gnu_cxx::__normal_iterator.29"** %iter.addr, align 4
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %m_iterator to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %1 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples5tupleIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESI_NS0_9null_typeESJ_SJ_SJ_SJ_SJ_SJ_SJ_EC1ESI_SI_(%"class.boost::tuples::tuple.37"* %this, %"struct.boost::detail::out_edge_iter"* %t0, %"struct.boost::detail::out_edge_iter"* %t1) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple.37"*, align 4
  %t0.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %t1.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  store %"class.boost::tuples::tuple.37"* %this, %"class.boost::tuples::tuple.37"** %this.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %t0, %"struct.boost::detail::out_edge_iter"** %t0.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %t1, %"struct.boost::detail::out_edge_iter"** %t1.addr, align 4
  %this1 = load %"class.boost::tuples::tuple.37"** %this.addr
  %0 = load %"struct.boost::detail::out_edge_iter"** %t0.addr
  %1 = load %"struct.boost::detail::out_edge_iter"** %t1.addr
  call void @_ZN5boost6tuples5tupleIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESI_NS0_9null_typeESJ_SJ_SJ_SJ_SJ_SJ_SJ_EC2ESI_SI_(%"class.boost::tuples::tuple.37"* %this1, %"struct.boost::detail::out_edge_iter"* %0, %"struct.boost::detail::out_edge_iter"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples5tupleIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEESI_NS0_9null_typeESJ_SJ_SJ_SJ_SJ_SJ_SJ_EC2ESI_SI_(%"class.boost::tuples::tuple.37"* %this, %"struct.boost::detail::out_edge_iter"* %t0, %"struct.boost::detail::out_edge_iter"* %t1) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple.37"*, align 4
  %t0.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %t1.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %ref.tmp = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp2 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp3 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp4 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp5 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp6 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp7 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp8 = alloca %"struct.boost::tuples::null_type", align 1
  store %"class.boost::tuples::tuple.37"* %this, %"class.boost::tuples::tuple.37"** %this.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %t0, %"struct.boost::detail::out_edge_iter"** %t0.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %t1, %"struct.boost::detail::out_edge_iter"** %t1.addr, align 4
  %this1 = load %"class.boost::tuples::tuple.37"** %this.addr
  %0 = bitcast %"class.boost::tuples::tuple.37"* %this1 to %"struct.boost::tuples::cons.38"*
  %1 = load %"struct.boost::detail::out_edge_iter"** %t0.addr, align 4
  %2 = load %"struct.boost::detail::out_edge_iter"** %t1.addr, align 4
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp2)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp3)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp4)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp5)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp6)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp7)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp8)
  call void @_ZN5boost6tuples4consIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEENS1_ISI_NS0_9null_typeEEEEC2ISH_SH_KSJ_SN_SN_SN_SN_SN_SN_SN_EERT_RT0_RT1_RT2_RT3_RT4_RT5_RT6_RT7_RT8_(%"struct.boost::tuples::cons.38"* %0, %"struct.boost::detail::out_edge_iter"* %1, %"struct.boost::detail::out_edge_iter"* %2, %"struct.boost::tuples::null_type"* %ref.tmp, %"struct.boost::tuples::null_type"* %ref.tmp2, %"struct.boost::tuples::null_type"* %ref.tmp3, %"struct.boost::tuples::null_type"* %ref.tmp4, %"struct.boost::tuples::null_type"* %ref.tmp5, %"struct.boost::tuples::null_type"* %ref.tmp6, %"struct.boost::tuples::null_type"* %ref.tmp7, %"struct.boost::tuples::null_type"* %ref.tmp8)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEENS1_ISI_NS0_9null_typeEEEEC2ISH_SH_KSJ_SN_SN_SN_SN_SN_SN_SN_EERT_RT0_RT1_RT2_RT3_RT4_RT5_RT6_RT7_RT8_(%"struct.boost::tuples::cons.38"* %this, %"struct.boost::detail::out_edge_iter"* %t1, %"struct.boost::detail::out_edge_iter"* %t2, %"struct.boost::tuples::null_type"* %t3, %"struct.boost::tuples::null_type"* %t4, %"struct.boost::tuples::null_type"* %t5, %"struct.boost::tuples::null_type"* %t6, %"struct.boost::tuples::null_type"* %t7, %"struct.boost::tuples::null_type"* %t8, %"struct.boost::tuples::null_type"* %t9, %"struct.boost::tuples::null_type"* %t10) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.38"*, align 4
  %t1.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %t2.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %t3.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t4.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t5.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t6.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t7.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t8.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t9.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t10.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %ref.tmp = alloca %"struct.boost::tuples::null_type", align 1
  store %"struct.boost::tuples::cons.38"* %this, %"struct.boost::tuples::cons.38"** %this.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %t1, %"struct.boost::detail::out_edge_iter"** %t1.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %t2, %"struct.boost::detail::out_edge_iter"** %t2.addr, align 4
  store %"struct.boost::tuples::null_type"* %t3, %"struct.boost::tuples::null_type"** %t3.addr, align 4
  store %"struct.boost::tuples::null_type"* %t4, %"struct.boost::tuples::null_type"** %t4.addr, align 4
  store %"struct.boost::tuples::null_type"* %t5, %"struct.boost::tuples::null_type"** %t5.addr, align 4
  store %"struct.boost::tuples::null_type"* %t6, %"struct.boost::tuples::null_type"** %t6.addr, align 4
  store %"struct.boost::tuples::null_type"* %t7, %"struct.boost::tuples::null_type"** %t7.addr, align 4
  store %"struct.boost::tuples::null_type"* %t8, %"struct.boost::tuples::null_type"** %t8.addr, align 4
  store %"struct.boost::tuples::null_type"* %t9, %"struct.boost::tuples::null_type"** %t9.addr, align 4
  store %"struct.boost::tuples::null_type"* %t10, %"struct.boost::tuples::null_type"** %t10.addr, align 4
  %this1 = load %"struct.boost::tuples::cons.38"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::tuples::cons.38"* %this1, i32 0, i32 0
  %1 = load %"struct.boost::detail::out_edge_iter"** %t1.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %1, %"struct.boost::detail::out_edge_iter"** %0, align 4
  %tail = getelementptr inbounds %"struct.boost::tuples::cons.38"* %this1, i32 0, i32 1
  %2 = load %"struct.boost::detail::out_edge_iter"** %t2.addr, align 4
  %3 = load %"struct.boost::tuples::null_type"** %t3.addr, align 4
  %4 = load %"struct.boost::tuples::null_type"** %t4.addr, align 4
  %5 = load %"struct.boost::tuples::null_type"** %t5.addr, align 4
  %6 = load %"struct.boost::tuples::null_type"** %t6.addr, align 4
  %7 = load %"struct.boost::tuples::null_type"** %t7.addr, align 4
  %8 = load %"struct.boost::tuples::null_type"** %t8.addr, align 4
  %9 = load %"struct.boost::tuples::null_type"** %t9.addr, align 4
  %10 = load %"struct.boost::tuples::null_type"** %t10.addr, align 4
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp)
  call void @_ZN5boost6tuples4consIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEENS0_9null_typeEEC1ISH_EERT_RKSJ_SP_SP_SP_SP_SP_SP_SP_SP_(%"struct.boost::tuples::cons.39"* %tail, %"struct.boost::detail::out_edge_iter"* %2, %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"* %9, %"struct.boost::tuples::null_type"* %10, %"struct.boost::tuples::null_type"* %ref.tmp)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* noalias sret %agg.result) nounwind inlinehint {
entry:
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEENS0_9null_typeEEC1ISH_EERT_RKSJ_SP_SP_SP_SP_SP_SP_SP_SP_(%"struct.boost::tuples::cons.39"* %this, %"struct.boost::detail::out_edge_iter"* %t1, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.39"*, align 4
  %t1.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr1 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr2 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr3 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr4 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr5 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr6 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr7 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr8 = alloca %"struct.boost::tuples::null_type"*, align 4
  store %"struct.boost::tuples::cons.39"* %this, %"struct.boost::tuples::cons.39"** %this.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %t1, %"struct.boost::detail::out_edge_iter"** %t1.addr, align 4
  store %"struct.boost::tuples::null_type"* %0, %"struct.boost::tuples::null_type"** %.addr, align 4
  store %"struct.boost::tuples::null_type"* %1, %"struct.boost::tuples::null_type"** %.addr1, align 4
  store %"struct.boost::tuples::null_type"* %2, %"struct.boost::tuples::null_type"** %.addr2, align 4
  store %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"** %.addr3, align 4
  store %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"** %.addr4, align 4
  store %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"** %.addr5, align 4
  store %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"** %.addr6, align 4
  store %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"** %.addr7, align 4
  store %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"** %.addr8, align 4
  %this9 = load %"struct.boost::tuples::cons.39"** %this.addr
  %9 = load %"struct.boost::detail::out_edge_iter"** %t1.addr
  %10 = load %"struct.boost::tuples::null_type"** %.addr
  %11 = load %"struct.boost::tuples::null_type"** %.addr1
  %12 = load %"struct.boost::tuples::null_type"** %.addr2
  %13 = load %"struct.boost::tuples::null_type"** %.addr3
  %14 = load %"struct.boost::tuples::null_type"** %.addr4
  %15 = load %"struct.boost::tuples::null_type"** %.addr5
  %16 = load %"struct.boost::tuples::null_type"** %.addr6
  %17 = load %"struct.boost::tuples::null_type"** %.addr7
  %18 = load %"struct.boost::tuples::null_type"** %.addr8
  call void @_ZN5boost6tuples4consIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEENS0_9null_typeEEC2ISH_EERT_RKSJ_SP_SP_SP_SP_SP_SP_SP_SP_(%"struct.boost::tuples::cons.39"* %this9, %"struct.boost::detail::out_edge_iter"* %9, %"struct.boost::tuples::null_type"* %10, %"struct.boost::tuples::null_type"* %11, %"struct.boost::tuples::null_type"* %12, %"struct.boost::tuples::null_type"* %13, %"struct.boost::tuples::null_type"* %14, %"struct.boost::tuples::null_type"* %15, %"struct.boost::tuples::null_type"* %16, %"struct.boost::tuples::null_type"* %17, %"struct.boost::tuples::null_type"* %18)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRNS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS_12directed_tagEjEEiEENS0_9null_typeEEC2ISH_EERT_RKSJ_SP_SP_SP_SP_SP_SP_SP_SP_(%"struct.boost::tuples::cons.39"* %this, %"struct.boost::detail::out_edge_iter"* %t1, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.39"*, align 4
  %t1.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  %.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr1 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr2 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr3 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr4 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr5 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr6 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr7 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr8 = alloca %"struct.boost::tuples::null_type"*, align 4
  store %"struct.boost::tuples::cons.39"* %this, %"struct.boost::tuples::cons.39"** %this.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %t1, %"struct.boost::detail::out_edge_iter"** %t1.addr, align 4
  store %"struct.boost::tuples::null_type"* %0, %"struct.boost::tuples::null_type"** %.addr, align 4
  store %"struct.boost::tuples::null_type"* %1, %"struct.boost::tuples::null_type"** %.addr1, align 4
  store %"struct.boost::tuples::null_type"* %2, %"struct.boost::tuples::null_type"** %.addr2, align 4
  store %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"** %.addr3, align 4
  store %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"** %.addr4, align 4
  store %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"** %.addr5, align 4
  store %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"** %.addr6, align 4
  store %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"** %.addr7, align 4
  store %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"** %.addr8, align 4
  %this9 = load %"struct.boost::tuples::cons.39"** %this.addr
  %9 = getelementptr inbounds %"struct.boost::tuples::cons.39"* %this9, i32 0, i32 0
  %10 = load %"struct.boost::detail::out_edge_iter"** %t1.addr, align 4
  store %"struct.boost::detail::out_edge_iter"* %10, %"struct.boost::detail::out_edge_iter"** %9, align 4
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES8_NS_9directedSENS_11no_propertyESA_SA_NS_5listSEEES3_EEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %vlist, i32 %x, %"class.boost::adjacency_list"* %g) inlinehint {
entry:
  %vlist.addr = alloca %"struct.std::pair.8"*, align 4
  %x.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %tag = alloca %"struct.boost::on_discover_vertex", align 1
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant", align 1
  %agg.tmp1 = alloca %"struct.boost::on_discover_vertex", align 1
  store %"struct.std::pair.8"* %vlist, %"struct.std::pair.8"** %vlist.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %0 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.8"* %0, i32 0, i32 0
  %1 = load i32* %x.addr, align 4
  %2 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %3 = bitcast %"struct.boost::integral_constant"* %ref.tmp to %"struct.mpl_::bool_"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_18on_discover_vertexEEEjKNS_14adjacency_listINS_4vecSES7_NS_9directedSENS_11no_propertyES9_S9_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb1EEE(%"struct.boost::time_stamper"* %first, i32 %1, %"class.boost::adjacency_list"* %2)
  %4 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.8"* %4, i32 0, i32 1
  %5 = load i32* %x.addr, align 4
  %6 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES6_NS_9directedSENS_11no_propertyES8_S8_NS_5listSEEENS_18on_discover_vertexEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %second, i32 %5, %"class.boost::adjacency_list"* %6)
  ret void
}

define linkonce_odr void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_18on_discover_vertexEEEjKNS_14adjacency_listINS_4vecSES7_NS_9directedSENS_11no_propertyES9_S9_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb1EEE(%"struct.boost::time_stamper"* %v, i32 %x, %"class.boost::adjacency_list"* %g) inlinehint {
entry:
  %v.addr = alloca %"struct.boost::time_stamper"*, align 4
  %x.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"struct.boost::time_stamper"* %v, %"struct.boost::time_stamper"** %v.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = load %"struct.boost::time_stamper"** %v.addr, align 4
  %2 = load i32* %x.addr, align 4
  %3 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost12time_stamperIPjiNS_18on_discover_vertexEEclIjNS_14adjacency_listINS_4vecSES6_NS_9directedSENS_11no_propertyES8_S8_NS_5listSEEEEEvT_RKT0_(%"struct.boost::time_stamper"* %1, i32 %2, %"class.boost::adjacency_list"* %3)
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES6_NS_9directedSENS_11no_propertyES8_S8_NS_5listSEEENS_18on_discover_vertexEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %v, i32 %x, %"class.boost::adjacency_list"* %g) inlinehint {
entry:
  %v.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %x.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %0 = alloca %"struct.boost::on_discover_vertex", align 1
  %agg.tmp = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  store %"struct.boost::time_stamper.9"* %v, %"struct.boost::time_stamper.9"** %v.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = load %"struct.boost::time_stamper.9"** %v.addr, align 4
  %2 = load i32* %x.addr, align 4
  %3 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %4 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES7_NS_9directedSENS_11no_propertyES9_S9_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper.9"* %1, i32 %2, %"class.boost::adjacency_list"* %3)
  ret void
}

define linkonce_odr void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES7_NS_9directedSENS_11no_propertyES9_S9_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper.9"*, i32, %"class.boost::adjacency_list"*) nounwind inlinehint {
entry:
  %.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %.addr1 = alloca i32, align 4
  %.addr2 = alloca %"class.boost::adjacency_list"*, align 4
  %3 = alloca %"struct.mpl_::bool_.25", align 1
  store %"struct.boost::time_stamper.9"* %0, %"struct.boost::time_stamper.9"** %.addr, align 4
  store i32 %1, i32* %.addr1, align 4
  store %"class.boost::adjacency_list"* %2, %"class.boost::adjacency_list"** %.addr2, align 4
  ret void
}

define linkonce_odr void @_ZN5boost12time_stamperIPjiNS_18on_discover_vertexEEclIjNS_14adjacency_listINS_4vecSES6_NS_9directedSENS_11no_propertyES8_S8_NS_5listSEEEEEvT_RKT0_(%"struct.boost::time_stamper"* %this, i32 %u, %"class.boost::adjacency_list"*) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::time_stamper"*, align 4
  %u.addr = alloca i32, align 4
  %.addr = alloca %"class.boost::adjacency_list"*, align 4
  store %"struct.boost::time_stamper"* %this, %"struct.boost::time_stamper"** %this.addr, align 4
  store i32 %u, i32* %u.addr, align 4
  store %"class.boost::adjacency_list"* %0, %"class.boost::adjacency_list"** %.addr, align 4
  %this1 = load %"struct.boost::time_stamper"** %this.addr
  %m_time_pa = getelementptr inbounds %"struct.boost::time_stamper"* %this1, i32 0, i32 0
  %1 = load i32** %m_time_pa, align 4
  %2 = load i32* %u.addr, align 4
  %m_time = getelementptr inbounds %"struct.boost::time_stamper"* %this1, i32 0, i32 1
  %ref = load i32** %m_time, align 4
  %3 = load i32* %ref, align 4
  %inc = add nsw i32 %3, 1
  store i32 %inc, i32* %ref, align 4
  call void @_Z3putIjiEvPT_iRKT0_(i32* %1, i32 %2, i32* %ref)
  ret void
}

define linkonce_odr void @_ZNSt6vectorISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEES_IS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESG_EESaISI_EEC2Ev(%"class.std::vector.30"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.30"*, align 4
  store %"class.std::vector.30"* %this, %"class.std::vector.30"** %this.addr, align 4
  %this1 = load %"class.std::vector.30"** %this.addr
  %0 = bitcast %"class.std::vector.30"* %this1 to %"struct.std::_Vector_base.31"*
  call void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EEC2Ev(%"struct.std::_Vector_base.31"* %0)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EEC2Ev(%"struct.std::_Vector_base.31"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.31"*, align 4
  store %"struct.std::_Vector_base.31"* %this, %"struct.std::_Vector_base.31"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.31"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.31"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE12_Vector_implC1Ev(%"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %_M_impl)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE12_Vector_implC1Ev(%"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this, %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"** %this.addr
  call void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE12_Vector_implC2Ev(%"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseISt4pairIjS0_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS2_20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS2_14edge_desc_implINS1_12directed_tagEjEEiEESH_EESaISJ_EE12_Vector_implC2Ev(%"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this, %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this1 to %"class.std::allocator.32"*
  call void @_ZNSaISt4pairIjS_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_EEEC2Ev(%"class.std::allocator.32"* %0) nounwind
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this1, i32 0, i32 0
  store %"struct.std::pair.35"* null, %"struct.std::pair.35"** %_M_start, align 4
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this1, i32 0, i32 1
  store %"struct.std::pair.35"* null, %"struct.std::pair.35"** %_M_finish, align 4
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > >, std::allocator<std::pair<unsigned int, std::pair<boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int>, boost::detail::out_edge_iter<__gnu_cxx::__normal_iterator<boost::detail::stored_edge_property<unsigned int, boost::no_property> *, std::vector<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > > >, unsigned int, boost::detail::edge_desc_impl<boost::directed_tag, unsigned int>, int> > > > >::_Vector_impl"* %this1, i32 0, i32 2
  store %"struct.std::pair.35"* null, %"struct.std::pair.35"** %_M_end_of_storage, align 4
  ret void
}

define linkonce_odr void @_ZNSaISt4pairIjS_IN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS0_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS0_12directed_tagEjEEiEESG_EEEC2Ev(%"class.std::allocator.32"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.32"*, align 4
  store %"class.std::allocator.32"* %this, %"class.std::allocator.32"** %this.addr, align 4
  %this1 = load %"class.std::allocator.32"** %this.addr
  %0 = bitcast %"class.std::allocator.32"* %this1 to %"class.__gnu_cxx::new_allocator.33"*
  call void @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEEC2Ev(%"class.__gnu_cxx::new_allocator.33"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorISt4pairIjS1_IN5boost6detail13out_edge_iterINS_17__normal_iteratorIPNS3_20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS8_SaIS8_EEEEjNS3_14edge_desc_implINS2_12directed_tagEjEEiEESH_EEEC2Ev(%"class.__gnu_cxx::new_allocator.33"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.33"*, align 4
  store %"class.__gnu_cxx::new_allocator.33"* %this, %"class.__gnu_cxx::new_allocator.33"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.33"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS0_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEjNS0_14edge_desc_implINS_12directed_tagEjEEiEC2Ev(%"struct.boost::detail::out_edge_iter"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::out_edge_iter"*, align 4
  store %"struct.boost::detail::out_edge_iter"* %this, %"struct.boost::detail::out_edge_iter"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::out_edge_iter"** %this.addr
  %0 = bitcast %"struct.boost::detail::out_edge_iter"* %this1 to %"class.boost::iterator_adaptor"*
  call void @_ZN5boost16iterator_adaptorINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESC_SF_NS_11use_defaultESF_iEC2Ev(%"class.boost::iterator_adaptor"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost16iterator_adaptorINS_6detail13out_edge_iterIN9__gnu_cxx17__normal_iteratorIPNS1_20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEjNS1_14edge_desc_implINS_12directed_tagEjEEiEESC_SF_NS_11use_defaultESF_iEC2Ev(%"class.boost::iterator_adaptor"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_adaptor"*, align 4
  store %"class.boost::iterator_adaptor"* %this, %"class.boost::iterator_adaptor"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_adaptor"** %this.addr
  %0 = bitcast %"class.boost::iterator_adaptor"* %this1 to %"class.boost::iterator_facade.28"*
  %m_iterator = getelementptr inbounds %"class.boost::iterator_adaptor"* %this1, i32 0, i32 0
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC1Ev(%"class.__gnu_cxx::__normal_iterator.29"* %m_iterator)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC1Ev(%"class.__gnu_cxx::__normal_iterator.29"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %this, %"class.__gnu_cxx::__normal_iterator.29"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.29"** %this.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC2Ev(%"class.__gnu_cxx::__normal_iterator.29"* %this1)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC2Ev(%"class.__gnu_cxx::__normal_iterator.29"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %this, %"class.__gnu_cxx::__normal_iterator.29"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.29"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.29"* %this1, i32 0, i32 0
  store %"class.boost::detail::stored_edge_property"* null, %"class.boost::detail::stored_edge_property"** %_M_current, align 4
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES8_NS_9directedSENS_11no_propertyESA_SA_NS_5listSEEENS_15on_start_vertexEEEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %vlist, i32 %x, %"class.boost::adjacency_list"* %g) inlinehint {
entry:
  %vlist.addr = alloca %"struct.std::pair.8"*, align 4
  %x.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %tag = alloca %"struct.boost::on_start_vertex", align 1
  %agg.tmp = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  %agg.tmp1 = alloca %"struct.boost::on_start_vertex", align 1
  store %"struct.std::pair.8"* %vlist, %"struct.std::pair.8"** %vlist.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %0 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.8"* %0, i32 0, i32 0
  %1 = load i32* %x.addr, align 4
  %2 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %3 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_18on_discover_vertexEEEjKNS_14adjacency_listINS_4vecSES7_NS_9directedSENS_11no_propertyES9_S9_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper"* %first, i32 %1, %"class.boost::adjacency_list"* %2)
  %4 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.8"* %4, i32 0, i32 1
  %5 = load i32* %x.addr, align 4
  %6 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES6_NS_9directedSENS_11no_propertyES8_S8_NS_5listSEEENS_15on_start_vertexEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %second, i32 %5, %"class.boost::adjacency_list"* %6)
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES6_NS_9directedSENS_11no_propertyES8_S8_NS_5listSEEENS_15on_start_vertexEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %v, i32 %x, %"class.boost::adjacency_list"* %g) nounwind inlinehint {
entry:
  %v.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %x.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %0 = alloca %"struct.boost::on_start_vertex", align 1
  %agg.tmp = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  store %"struct.boost::time_stamper.9"* %v, %"struct.boost::time_stamper.9"** %v.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = load %"struct.boost::time_stamper.9"** %v.addr, align 4
  %2 = load i32* %x.addr, align 4
  %3 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %4 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES7_NS_9directedSENS_11no_propertyES9_S9_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper.9"* %1, i32 %2, %"class.boost::adjacency_list"* %3)
  ret void
}

define linkonce_odr void @_ZN5boost20iterator_core_access9incrementINS_12range_detail16integer_iteratorIjEEEEvRT_(%"class.boost::range_detail::integer_iterator"* %f) align 2 {
entry:
  %f.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %f, %"class.boost::range_detail::integer_iterator"** %f.addr, align 4
  %0 = load %"class.boost::range_detail::integer_iterator"** %f.addr, align 4
  call void @_ZN5boost12range_detail16integer_iteratorIjE9incrementEv(%"class.boost::range_detail::integer_iterator"* %0)
  ret void
}

define linkonce_odr %"class.boost::range_detail::integer_iterator"* @_ZN5boost15iterator_facadeINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiE7derivedEv(%"class.boost::iterator_facade"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_facade"*, align 4
  store %"class.boost::iterator_facade"* %this, %"class.boost::iterator_facade"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_facade"** %this.addr
  %0 = bitcast %"class.boost::iterator_facade"* %this1 to %"class.boost::range_detail::integer_iterator"*
  ret %"class.boost::range_detail::integer_iterator"* %0
}

define linkonce_odr void @_ZN5boost12range_detail16integer_iteratorIjE9incrementEv(%"class.boost::range_detail::integer_iterator"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %m_value = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %this1, i32 0, i32 0
  %0 = load i32* %m_value, align 4
  %inc = add i32 %0, 1
  store i32 %inc, i32* %m_value, align 4
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_18on_discover_vertexEEENS1_IS2_iNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES8_NS_9directedSENS_11no_propertyESA_SA_NS_5listSEEENS_20on_initialize_vertexEEEvRSt4pairIT_T0_ET1_RT2_T3_(%"struct.std::pair.8"* %vlist, i32 %x, %"class.boost::adjacency_list"* %g) inlinehint {
entry:
  %vlist.addr = alloca %"struct.std::pair.8"*, align 4
  %x.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %tag = alloca %"struct.boost::on_initialize_vertex", align 1
  %agg.tmp = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  %agg.tmp1 = alloca %"struct.boost::on_initialize_vertex", align 1
  store %"struct.std::pair.8"* %vlist, %"struct.std::pair.8"** %vlist.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %0 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.8"* %0, i32 0, i32 0
  %1 = load i32* %x.addr, align 4
  %2 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %3 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_18on_discover_vertexEEEjKNS_14adjacency_listINS_4vecSES7_NS_9directedSENS_11no_propertyES9_S9_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper"* %first, i32 %1, %"class.boost::adjacency_list"* %2)
  %4 = load %"struct.std::pair.8"** %vlist.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.8"* %4, i32 0, i32 1
  %5 = load i32* %x.addr, align 4
  %6 = load %"class.boost::adjacency_list"** %g.addr, align 4
  call void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES6_NS_9directedSENS_11no_propertyES8_S8_NS_5listSEEENS_20on_initialize_vertexEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %second, i32 %5, %"class.boost::adjacency_list"* %6)
  ret void
}

define linkonce_odr void @_ZN5boost15invoke_visitorsINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES6_NS_9directedSENS_11no_propertyES8_S8_NS_5listSEEENS_20on_initialize_vertexEEEvRT_T0_RT1_T2_(%"struct.boost::time_stamper.9"* %v, i32 %x, %"class.boost::adjacency_list"* %g) nounwind inlinehint {
entry:
  %v.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %x.addr = alloca i32, align 4
  %g.addr = alloca %"class.boost::adjacency_list"*, align 4
  %0 = alloca %"struct.boost::on_initialize_vertex", align 1
  %agg.tmp = alloca %"struct.mpl_::bool_.25", align 1
  %ref.tmp = alloca %"struct.boost::integral_constant.26", align 1
  store %"struct.boost::time_stamper.9"* %v, %"struct.boost::time_stamper.9"** %v.addr, align 4
  store i32 %x, i32* %x.addr, align 4
  store %"class.boost::adjacency_list"* %g, %"class.boost::adjacency_list"** %g.addr, align 4
  %1 = load %"struct.boost::time_stamper.9"** %v.addr, align 4
  %2 = load i32* %x.addr, align 4
  %3 = load %"class.boost::adjacency_list"** %g.addr, align 4
  %4 = bitcast %"struct.boost::integral_constant.26"* %ref.tmp to %"struct.mpl_::bool_.25"*
  call void @_ZN5boost6detail15invoke_dispatchINS_12time_stamperIPjiNS_16on_finish_vertexEEEjKNS_14adjacency_listINS_4vecSES7_NS_9directedSENS_11no_propertyES9_S9_NS_5listSEEEEEvRT_T0_RT1_N4mpl_5bool_ILb0EEE(%"struct.boost::time_stamper.9"* %1, i32 %2, %"class.boost::adjacency_list"* %3)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples5tupleIRNS_12range_detail16integer_iteratorIjEES5_NS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EC1ES5_S5_(%"class.boost::tuples::tuple"* %this, %"class.boost::range_detail::integer_iterator"* %t0, %"class.boost::range_detail::integer_iterator"* %t1) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple"*, align 4
  %t0.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %t1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::tuples::tuple"* %this, %"class.boost::tuples::tuple"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t0, %"class.boost::range_detail::integer_iterator"** %t0.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  %this1 = load %"class.boost::tuples::tuple"** %this.addr
  %0 = load %"class.boost::range_detail::integer_iterator"** %t0.addr
  %1 = load %"class.boost::range_detail::integer_iterator"** %t1.addr
  call void @_ZN5boost6tuples5tupleIRNS_12range_detail16integer_iteratorIjEES5_NS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EC2ES5_S5_(%"class.boost::tuples::tuple"* %this1, %"class.boost::range_detail::integer_iterator"* %0, %"class.boost::range_detail::integer_iterator"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples5tupleIRNS_12range_detail16integer_iteratorIjEES5_NS0_9null_typeES6_S6_S6_S6_S6_S6_S6_EC2ES5_S5_(%"class.boost::tuples::tuple"* %this, %"class.boost::range_detail::integer_iterator"* %t0, %"class.boost::range_detail::integer_iterator"* %t1) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple"*, align 4
  %t0.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %t1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %ref.tmp = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp2 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp3 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp4 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp5 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp6 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp7 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp8 = alloca %"struct.boost::tuples::null_type", align 1
  store %"class.boost::tuples::tuple"* %this, %"class.boost::tuples::tuple"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t0, %"class.boost::range_detail::integer_iterator"** %t0.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  %this1 = load %"class.boost::tuples::tuple"** %this.addr
  %0 = bitcast %"class.boost::tuples::tuple"* %this1 to %"struct.boost::tuples::cons"*
  %1 = load %"class.boost::range_detail::integer_iterator"** %t0.addr, align 4
  %2 = load %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp2)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp3)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp4)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp5)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp6)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp7)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp8)
  call void @_ZN5boost6tuples4consIRNS_12range_detail16integer_iteratorIjEENS1_IS5_NS0_9null_typeEEEEC2IS4_S4_KS6_SA_SA_SA_SA_SA_SA_SA_EERT_RT0_RT1_RT2_RT3_RT4_RT5_RT6_RT7_RT8_(%"struct.boost::tuples::cons"* %0, %"class.boost::range_detail::integer_iterator"* %1, %"class.boost::range_detail::integer_iterator"* %2, %"struct.boost::tuples::null_type"* %ref.tmp, %"struct.boost::tuples::null_type"* %ref.tmp2, %"struct.boost::tuples::null_type"* %ref.tmp3, %"struct.boost::tuples::null_type"* %ref.tmp4, %"struct.boost::tuples::null_type"* %ref.tmp5, %"struct.boost::tuples::null_type"* %ref.tmp6, %"struct.boost::tuples::null_type"* %ref.tmp7, %"struct.boost::tuples::null_type"* %ref.tmp8)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRNS_12range_detail16integer_iteratorIjEENS1_IS5_NS0_9null_typeEEEEC2IS4_S4_KS6_SA_SA_SA_SA_SA_SA_SA_EERT_RT0_RT1_RT2_RT3_RT4_RT5_RT6_RT7_RT8_(%"struct.boost::tuples::cons"* %this, %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"* %t2, %"struct.boost::tuples::null_type"* %t3, %"struct.boost::tuples::null_type"* %t4, %"struct.boost::tuples::null_type"* %t5, %"struct.boost::tuples::null_type"* %t6, %"struct.boost::tuples::null_type"* %t7, %"struct.boost::tuples::null_type"* %t8, %"struct.boost::tuples::null_type"* %t9, %"struct.boost::tuples::null_type"* %t10) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons"*, align 4
  %t1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %t2.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %t3.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t4.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t5.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t6.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t7.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t8.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t9.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t10.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %ref.tmp = alloca %"struct.boost::tuples::null_type", align 1
  store %"struct.boost::tuples::cons"* %this, %"struct.boost::tuples::cons"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t2, %"class.boost::range_detail::integer_iterator"** %t2.addr, align 4
  store %"struct.boost::tuples::null_type"* %t3, %"struct.boost::tuples::null_type"** %t3.addr, align 4
  store %"struct.boost::tuples::null_type"* %t4, %"struct.boost::tuples::null_type"** %t4.addr, align 4
  store %"struct.boost::tuples::null_type"* %t5, %"struct.boost::tuples::null_type"** %t5.addr, align 4
  store %"struct.boost::tuples::null_type"* %t6, %"struct.boost::tuples::null_type"** %t6.addr, align 4
  store %"struct.boost::tuples::null_type"* %t7, %"struct.boost::tuples::null_type"** %t7.addr, align 4
  store %"struct.boost::tuples::null_type"* %t8, %"struct.boost::tuples::null_type"** %t8.addr, align 4
  store %"struct.boost::tuples::null_type"* %t9, %"struct.boost::tuples::null_type"** %t9.addr, align 4
  store %"struct.boost::tuples::null_type"* %t10, %"struct.boost::tuples::null_type"** %t10.addr, align 4
  %this1 = load %"struct.boost::tuples::cons"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::tuples::cons"* %this1, i32 0, i32 0
  %1 = load %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %1, %"class.boost::range_detail::integer_iterator"** %0, align 4
  %tail = getelementptr inbounds %"struct.boost::tuples::cons"* %this1, i32 0, i32 1
  %2 = load %"class.boost::range_detail::integer_iterator"** %t2.addr, align 4
  %3 = load %"struct.boost::tuples::null_type"** %t3.addr, align 4
  %4 = load %"struct.boost::tuples::null_type"** %t4.addr, align 4
  %5 = load %"struct.boost::tuples::null_type"** %t5.addr, align 4
  %6 = load %"struct.boost::tuples::null_type"** %t6.addr, align 4
  %7 = load %"struct.boost::tuples::null_type"** %t7.addr, align 4
  %8 = load %"struct.boost::tuples::null_type"** %t8.addr, align 4
  %9 = load %"struct.boost::tuples::null_type"** %t9.addr, align 4
  %10 = load %"struct.boost::tuples::null_type"** %t10.addr, align 4
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp)
  call void @_ZN5boost6tuples4consIRNS_12range_detail16integer_iteratorIjEENS0_9null_typeEEC1IS4_EERT_RKS6_SC_SC_SC_SC_SC_SC_SC_SC_(%"struct.boost::tuples::cons.27"* %tail, %"class.boost::range_detail::integer_iterator"* %2, %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"* %9, %"struct.boost::tuples::null_type"* %10, %"struct.boost::tuples::null_type"* %ref.tmp)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRNS_12range_detail16integer_iteratorIjEENS0_9null_typeEEC1IS4_EERT_RKS6_SC_SC_SC_SC_SC_SC_SC_SC_(%"struct.boost::tuples::cons.27"* %this, %"class.boost::range_detail::integer_iterator"* %t1, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.27"*, align 4
  %t1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr1 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr2 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr3 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr4 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr5 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr6 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr7 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr8 = alloca %"struct.boost::tuples::null_type"*, align 4
  store %"struct.boost::tuples::cons.27"* %this, %"struct.boost::tuples::cons.27"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  store %"struct.boost::tuples::null_type"* %0, %"struct.boost::tuples::null_type"** %.addr, align 4
  store %"struct.boost::tuples::null_type"* %1, %"struct.boost::tuples::null_type"** %.addr1, align 4
  store %"struct.boost::tuples::null_type"* %2, %"struct.boost::tuples::null_type"** %.addr2, align 4
  store %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"** %.addr3, align 4
  store %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"** %.addr4, align 4
  store %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"** %.addr5, align 4
  store %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"** %.addr6, align 4
  store %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"** %.addr7, align 4
  store %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"** %.addr8, align 4
  %this9 = load %"struct.boost::tuples::cons.27"** %this.addr
  %9 = load %"class.boost::range_detail::integer_iterator"** %t1.addr
  %10 = load %"struct.boost::tuples::null_type"** %.addr
  %11 = load %"struct.boost::tuples::null_type"** %.addr1
  %12 = load %"struct.boost::tuples::null_type"** %.addr2
  %13 = load %"struct.boost::tuples::null_type"** %.addr3
  %14 = load %"struct.boost::tuples::null_type"** %.addr4
  %15 = load %"struct.boost::tuples::null_type"** %.addr5
  %16 = load %"struct.boost::tuples::null_type"** %.addr6
  %17 = load %"struct.boost::tuples::null_type"** %.addr7
  %18 = load %"struct.boost::tuples::null_type"** %.addr8
  call void @_ZN5boost6tuples4consIRNS_12range_detail16integer_iteratorIjEENS0_9null_typeEEC2IS4_EERT_RKS6_SC_SC_SC_SC_SC_SC_SC_SC_(%"struct.boost::tuples::cons.27"* %this9, %"class.boost::range_detail::integer_iterator"* %9, %"struct.boost::tuples::null_type"* %10, %"struct.boost::tuples::null_type"* %11, %"struct.boost::tuples::null_type"* %12, %"struct.boost::tuples::null_type"* %13, %"struct.boost::tuples::null_type"* %14, %"struct.boost::tuples::null_type"* %15, %"struct.boost::tuples::null_type"* %16, %"struct.boost::tuples::null_type"* %17, %"struct.boost::tuples::null_type"* %18)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRNS_12range_detail16integer_iteratorIjEENS0_9null_typeEEC2IS4_EERT_RKS6_SC_SC_SC_SC_SC_SC_SC_SC_(%"struct.boost::tuples::cons.27"* %this, %"class.boost::range_detail::integer_iterator"* %t1, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.27"*, align 4
  %t1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr1 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr2 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr3 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr4 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr5 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr6 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr7 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr8 = alloca %"struct.boost::tuples::null_type"*, align 4
  store %"struct.boost::tuples::cons.27"* %this, %"struct.boost::tuples::cons.27"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %t1, %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  store %"struct.boost::tuples::null_type"* %0, %"struct.boost::tuples::null_type"** %.addr, align 4
  store %"struct.boost::tuples::null_type"* %1, %"struct.boost::tuples::null_type"** %.addr1, align 4
  store %"struct.boost::tuples::null_type"* %2, %"struct.boost::tuples::null_type"** %.addr2, align 4
  store %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"** %.addr3, align 4
  store %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"** %.addr4, align 4
  store %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"** %.addr5, align 4
  store %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"** %.addr6, align 4
  store %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"** %.addr7, align 4
  store %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"** %.addr8, align 4
  %this9 = load %"struct.boost::tuples::cons.27"** %this.addr
  %9 = getelementptr inbounds %"struct.boost::tuples::cons.27"* %this9, i32 0, i32 0
  %10 = load %"class.boost::range_detail::integer_iterator"** %t1.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %10, %"class.boost::range_detail::integer_iterator"** %9, align 4
  ret void
}

define linkonce_odr void @_ZN5boost12range_detail16integer_iteratorIjEC2Ev(%"class.boost::range_detail::integer_iterator"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %0 = bitcast %"class.boost::range_detail::integer_iterator"* %this1 to %"class.boost::iterator_facade"*
  %m_value = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %this1, i32 0, i32 0
  store i32 0, i32* %m_value, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux8arg_listINS1_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSA_ISB_iNS_16on_finish_vertexEEEEEEENS1_14empty_arg_listEEC1ESJ_RKSK_(%"struct.boost::parameter::aux::arg_list"* %this, %"struct.boost::parameter::aux::tagged_argument"* byval align 4 %head, %"struct.boost::parameter::aux::empty_arg_list"* %tail) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::arg_list"*, align 4
  %tail.addr = alloca %"struct.boost::parameter::aux::empty_arg_list"*, align 4
  store %"struct.boost::parameter::aux::arg_list"* %this, %"struct.boost::parameter::aux::arg_list"** %this.addr, align 4
  store %"struct.boost::parameter::aux::empty_arg_list"* %tail, %"struct.boost::parameter::aux::empty_arg_list"** %tail.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::arg_list"** %this.addr
  %0 = load %"struct.boost::parameter::aux::empty_arg_list"** %tail.addr
  call void @_ZN5boost9parameter3aux8arg_listINS1_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSA_ISB_iNS_16on_finish_vertexEEEEEEENS1_14empty_arg_listEEC2ESJ_RKSK_(%"struct.boost::parameter::aux::arg_list"* %this1, %"struct.boost::parameter::aux::tagged_argument"* byval align 4 %head, %"struct.boost::parameter::aux::empty_arg_list"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS9_ISA_iNS_16on_finish_vertexEEEEEEC1ERSH_(%"struct.boost::parameter::aux::tagged_argument"* %this, %struct.edge_categorizer* %x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::tagged_argument"*, align 4
  %x.addr = alloca %struct.edge_categorizer*, align 4
  store %"struct.boost::parameter::aux::tagged_argument"* %this, %"struct.boost::parameter::aux::tagged_argument"** %this.addr, align 4
  store %struct.edge_categorizer* %x, %struct.edge_categorizer** %x.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::tagged_argument"** %this.addr
  %0 = load %struct.edge_categorizer** %x.addr
  call void @_ZN5boost9parameter3aux15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS9_ISA_iNS_16on_finish_vertexEEEEEEC2ERSH_(%"struct.boost::parameter::aux::tagged_argument"* %this1, %struct.edge_categorizer* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail37convert_bgl_params_to_boost_parameterINS_11no_propertyEE4convERKS2_(%"struct.boost::parameter::aux::empty_arg_list"* noalias sret %agg.result, %"struct.boost::no_property"*) align 2 {
entry:
  %.addr = alloca %"struct.boost::no_property"*, align 4
  store %"struct.boost::no_property"* %0, %"struct.boost::no_property"** %.addr, align 4
  call void @_ZN5boost9parameter3aux14empty_arg_listC1Ev(%"struct.boost::parameter::aux::empty_arg_list"* %agg.result)
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux14empty_arg_listC1Ev(%"struct.boost::parameter::aux::empty_arg_list"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::empty_arg_list"*, align 4
  store %"struct.boost::parameter::aux::empty_arg_list"* %this, %"struct.boost::parameter::aux::empty_arg_list"** %this.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::empty_arg_list"** %this.addr
  call void @_ZN5boost9parameter3aux14empty_arg_listC2Ev(%"struct.boost::parameter::aux::empty_arg_list"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux14empty_arg_listC2Ev(%"struct.boost::parameter::aux::empty_arg_list"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::empty_arg_list"*, align 4
  store %"struct.boost::parameter::aux::empty_arg_list"* %this, %"struct.boost::parameter::aux::empty_arg_list"** %this.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::empty_arg_list"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS9_ISA_iNS_16on_finish_vertexEEEEEEC2ERSH_(%"struct.boost::parameter::aux::tagged_argument"* %this, %struct.edge_categorizer* %x) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::tagged_argument"*, align 4
  %x.addr = alloca %struct.edge_categorizer*, align 4
  store %"struct.boost::parameter::aux::tagged_argument"* %this, %"struct.boost::parameter::aux::tagged_argument"** %this.addr, align 4
  store %struct.edge_categorizer* %x, %struct.edge_categorizer** %x.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::tagged_argument"** %this.addr
  %0 = bitcast %"struct.boost::parameter::aux::tagged_argument"* %this1 to %"struct.boost::parameter::aux::tagged_argument_base"*
  %1 = getelementptr inbounds %"struct.boost::parameter::aux::tagged_argument"* %this1, i32 0, i32 0
  %2 = load %struct.edge_categorizer** %x.addr, align 4
  store %struct.edge_categorizer* %2, %struct.edge_categorizer** %1, align 4
  ret void
}

define linkonce_odr void @_ZN5boost9parameter3aux8arg_listINS1_15tagged_argumentINS_5graph8keywords3tag7visitorEK16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENSA_ISB_iNS_16on_finish_vertexEEEEEEENS1_14empty_arg_listEEC2ESJ_RKSK_(%"struct.boost::parameter::aux::arg_list"* %this, %"struct.boost::parameter::aux::tagged_argument"* byval align 4 %head, %"struct.boost::parameter::aux::empty_arg_list"* %tail) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::parameter::aux::arg_list"*, align 4
  %tail.addr = alloca %"struct.boost::parameter::aux::empty_arg_list"*, align 4
  store %"struct.boost::parameter::aux::arg_list"* %this, %"struct.boost::parameter::aux::arg_list"** %this.addr, align 4
  store %"struct.boost::parameter::aux::empty_arg_list"* %tail, %"struct.boost::parameter::aux::empty_arg_list"** %tail.addr, align 4
  %this1 = load %"struct.boost::parameter::aux::arg_list"** %this.addr
  %0 = bitcast %"struct.boost::parameter::aux::arg_list"* %this1 to %"struct.boost::parameter::aux::empty_arg_list"*
  %1 = load %"struct.boost::parameter::aux::empty_arg_list"** %tail.addr, align 4
  %arg = getelementptr inbounds %"struct.boost::parameter::aux::arg_list"* %this1, i32 0, i32 0
  %2 = bitcast %"struct.boost::parameter::aux::tagged_argument"* %arg to i8*
  %3 = bitcast %"struct.boost::parameter::aux::tagged_argument"* %head to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZN5boost16bgl_named_paramsI16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS3_IS4_iNS_16on_finish_vertexEEEEENS_15graph_visitor_tENS_11no_propertyEEC1ESA_(%"struct.boost::bgl_named_params"* %this, %struct.edge_categorizer* byval align 4 %v) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::bgl_named_params"*, align 4
  store %"struct.boost::bgl_named_params"* %this, %"struct.boost::bgl_named_params"** %this.addr, align 4
  %this1 = load %"struct.boost::bgl_named_params"** %this.addr
  call void @_ZN5boost16bgl_named_paramsI16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS3_IS4_iNS_16on_finish_vertexEEEEENS_15graph_visitor_tENS_11no_propertyEEC2ESA_(%"struct.boost::bgl_named_params"* %this1, %struct.edge_categorizer* byval align 4 %v)
  ret void
}

define linkonce_odr void @_ZN5boost16bgl_named_paramsI16edge_categorizerISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS3_IS4_iNS_16on_finish_vertexEEEEENS_15graph_visitor_tENS_11no_propertyEEC2ESA_(%"struct.boost::bgl_named_params"* %this, %struct.edge_categorizer* byval align 4 %v) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::bgl_named_params"*, align 4
  store %"struct.boost::bgl_named_params"* %this, %"struct.boost::bgl_named_params"** %this.addr, align 4
  %this1 = load %"struct.boost::bgl_named_params"** %this.addr
  %m_value = getelementptr inbounds %"struct.boost::bgl_named_params"* %this1, i32 0, i32 0
  %0 = bitcast %struct.edge_categorizer* %m_value to i8*
  %1 = bitcast %struct.edge_categorizer* %v to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 16, i32 4, i1 false)
  %m_base = getelementptr inbounds %"struct.boost::bgl_named_params"* %this1, i32 0, i32 1
  ret void
}

define linkonce_odr void @_ZN16edge_categorizerISt4pairIN5boost12time_stamperIPjiNS1_18on_discover_vertexEEENS2_IS3_iNS1_16on_finish_vertexEEEEEC1ERKS8_(%struct.edge_categorizer* %this, %"struct.std::pair.8"* %v) unnamed_addr align 2 {
entry:
  %this.addr = alloca %struct.edge_categorizer*, align 4
  %v.addr = alloca %"struct.std::pair.8"*, align 4
  store %struct.edge_categorizer* %this, %struct.edge_categorizer** %this.addr, align 4
  store %"struct.std::pair.8"* %v, %"struct.std::pair.8"** %v.addr, align 4
  %this1 = load %struct.edge_categorizer** %this.addr
  %0 = load %"struct.std::pair.8"** %v.addr
  call void @_ZN16edge_categorizerISt4pairIN5boost12time_stamperIPjiNS1_18on_discover_vertexEEENS2_IS3_iNS1_16on_finish_vertexEEEEEC2ERKS8_(%struct.edge_categorizer* %this1, %"struct.std::pair.8"* %0)
  ret void
}

define linkonce_odr void @_ZN16edge_categorizerISt4pairIN5boost12time_stamperIPjiNS1_18on_discover_vertexEEENS2_IS3_iNS1_16on_finish_vertexEEEEEC2ERKS8_(%struct.edge_categorizer* %this, %"struct.std::pair.8"* %v) unnamed_addr align 2 {
entry:
  %this.addr = alloca %struct.edge_categorizer*, align 4
  %v.addr = alloca %"struct.std::pair.8"*, align 4
  %agg.tmp = alloca %"struct.std::pair.8", align 4
  store %struct.edge_categorizer* %this, %struct.edge_categorizer** %this.addr, align 4
  store %"struct.std::pair.8"* %v, %"struct.std::pair.8"** %v.addr, align 4
  %this1 = load %struct.edge_categorizer** %this.addr
  %0 = bitcast %struct.edge_categorizer* %this1 to %"class.boost::dfs_visitor"*
  %1 = load %"struct.std::pair.8"** %v.addr, align 4
  %2 = bitcast %"struct.std::pair.8"* %agg.tmp to i8*
  %3 = bitcast %"struct.std::pair.8"* %1 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 16, i32 4, i1 false)
  call void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEEC2ES8_(%"class.boost::dfs_visitor"* %0, %"struct.std::pair.8"* byval align 4 %agg.tmp)
  ret void
}

define linkonce_odr void @_ZN5boost11dfs_visitorISt4pairINS_12time_stamperIPjiNS_18on_discover_vertexEEENS2_IS3_iNS_16on_finish_vertexEEEEEC2ES8_(%"class.boost::dfs_visitor"* %this, %"struct.std::pair.8"* byval align 4 %vis) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::dfs_visitor"*, align 4
  store %"class.boost::dfs_visitor"* %this, %"class.boost::dfs_visitor"** %this.addr, align 4
  %this1 = load %"class.boost::dfs_visitor"** %this.addr
  %m_vis = getelementptr inbounds %"class.boost::dfs_visitor"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::pair.8"* %m_vis to i8*
  %1 = bitcast %"struct.std::pair.8"* %vis to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 16, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZNSt4pairIN5boost12time_stamperIPjiNS0_18on_discover_vertexEEENS1_IS2_iNS0_16on_finish_vertexEEEEC1ERKS4_RKS6_(%"struct.std::pair.8"* %this, %"struct.boost::time_stamper"* %__a, %"struct.boost::time_stamper.9"* %__b) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.8"*, align 4
  %__a.addr = alloca %"struct.boost::time_stamper"*, align 4
  %__b.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  store %"struct.std::pair.8"* %this, %"struct.std::pair.8"** %this.addr, align 4
  store %"struct.boost::time_stamper"* %__a, %"struct.boost::time_stamper"** %__a.addr, align 4
  store %"struct.boost::time_stamper.9"* %__b, %"struct.boost::time_stamper.9"** %__b.addr, align 4
  %this1 = load %"struct.std::pair.8"** %this.addr
  %0 = load %"struct.boost::time_stamper"** %__a.addr
  %1 = load %"struct.boost::time_stamper.9"** %__b.addr
  call void @_ZNSt4pairIN5boost12time_stamperIPjiNS0_18on_discover_vertexEEENS1_IS2_iNS0_16on_finish_vertexEEEEC2ERKS4_RKS6_(%"struct.std::pair.8"* %this1, %"struct.boost::time_stamper"* %0, %"struct.boost::time_stamper.9"* %1)
  ret void
}

define linkonce_odr void @_ZNSt4pairIN5boost12time_stamperIPjiNS0_18on_discover_vertexEEENS1_IS2_iNS0_16on_finish_vertexEEEEC2ERKS4_RKS6_(%"struct.std::pair.8"* %this, %"struct.boost::time_stamper"* %__a, %"struct.boost::time_stamper.9"* %__b) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.8"*, align 4
  %__a.addr = alloca %"struct.boost::time_stamper"*, align 4
  %__b.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  store %"struct.std::pair.8"* %this, %"struct.std::pair.8"** %this.addr, align 4
  store %"struct.boost::time_stamper"* %__a, %"struct.boost::time_stamper"** %__a.addr, align 4
  store %"struct.boost::time_stamper.9"* %__b, %"struct.boost::time_stamper.9"** %__b.addr, align 4
  %this1 = load %"struct.std::pair.8"** %this.addr
  %first = getelementptr inbounds %"struct.std::pair.8"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::time_stamper"** %__a.addr, align 4
  %1 = bitcast %"struct.boost::time_stamper"* %first to i8*
  %2 = bitcast %"struct.boost::time_stamper"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 8, i32 4, i1 false)
  %second = getelementptr inbounds %"struct.std::pair.8"* %this1, i32 0, i32 1
  %3 = load %"struct.boost::time_stamper.9"** %__b.addr, align 4
  %4 = bitcast %"struct.boost::time_stamper.9"* %second to i8*
  %5 = bitcast %"struct.boost::time_stamper.9"* %3 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 8, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZN5boost12time_stamperIPjiNS_16on_finish_vertexEEC1ES1_Ri(%"struct.boost::time_stamper.9"* %this, i32* %pa, i32* %t) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %pa.addr = alloca i32*, align 4
  %t.addr = alloca i32*, align 4
  store %"struct.boost::time_stamper.9"* %this, %"struct.boost::time_stamper.9"** %this.addr, align 4
  store i32* %pa, i32** %pa.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::time_stamper.9"** %this.addr
  %0 = load i32** %pa.addr, align 4
  %1 = load i32** %t.addr
  call void @_ZN5boost12time_stamperIPjiNS_16on_finish_vertexEEC2ES1_Ri(%"struct.boost::time_stamper.9"* %this1, i32* %0, i32* %1)
  ret void
}

define linkonce_odr void @_ZN5boost12time_stamperIPjiNS_16on_finish_vertexEEC2ES1_Ri(%"struct.boost::time_stamper.9"* %this, i32* %pa, i32* %t) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::time_stamper.9"*, align 4
  %pa.addr = alloca i32*, align 4
  %t.addr = alloca i32*, align 4
  store %"struct.boost::time_stamper.9"* %this, %"struct.boost::time_stamper.9"** %this.addr, align 4
  store i32* %pa, i32** %pa.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::time_stamper.9"** %this.addr
  %0 = bitcast %"struct.boost::time_stamper.9"* %this1 to %"struct.boost::base_visitor.10"*
  %m_time_pa = getelementptr inbounds %"struct.boost::time_stamper.9"* %this1, i32 0, i32 0
  %1 = load i32** %pa.addr, align 4
  store i32* %1, i32** %m_time_pa, align 4
  %2 = getelementptr inbounds %"struct.boost::time_stamper.9"* %this1, i32 0, i32 1
  %3 = load i32** %t.addr, align 4
  store i32* %3, i32** %2, align 4
  ret void
}

define linkonce_odr void @_ZN5boost12time_stamperIPjiNS_18on_discover_vertexEEC1ES1_Ri(%"struct.boost::time_stamper"* %this, i32* %pa, i32* %t) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::time_stamper"*, align 4
  %pa.addr = alloca i32*, align 4
  %t.addr = alloca i32*, align 4
  store %"struct.boost::time_stamper"* %this, %"struct.boost::time_stamper"** %this.addr, align 4
  store i32* %pa, i32** %pa.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::time_stamper"** %this.addr
  %0 = load i32** %pa.addr, align 4
  %1 = load i32** %t.addr
  call void @_ZN5boost12time_stamperIPjiNS_18on_discover_vertexEEC2ES1_Ri(%"struct.boost::time_stamper"* %this1, i32* %0, i32* %1)
  ret void
}

define linkonce_odr void @_ZN5boost12time_stamperIPjiNS_18on_discover_vertexEEC2ES1_Ri(%"struct.boost::time_stamper"* %this, i32* %pa, i32* %t) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::time_stamper"*, align 4
  %pa.addr = alloca i32*, align 4
  %t.addr = alloca i32*, align 4
  store %"struct.boost::time_stamper"* %this, %"struct.boost::time_stamper"** %this.addr, align 4
  store i32* %pa, i32** %pa.addr, align 4
  store i32* %t, i32** %t.addr, align 4
  %this1 = load %"struct.boost::time_stamper"** %this.addr
  %0 = bitcast %"struct.boost::time_stamper"* %this1 to %"struct.boost::base_visitor"*
  %m_time_pa = getelementptr inbounds %"struct.boost::time_stamper"* %this1, i32 0, i32 0
  %1 = load i32** %pa.addr, align 4
  store i32* %1, i32** %m_time_pa, align 4
  %2 = getelementptr inbounds %"struct.boost::time_stamper"* %this1, i32 0, i32 1
  %3 = load i32** %t.addr, align 4
  store i32* %3, i32** %2, align 4
  ret void
}

define linkonce_odr void @_ZNSt6vectorIjSaIjEED2Ev(%"class.std::vector.3"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load i32** %_M_start, align 4
  %2 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.4"* %2, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl2, i32 0, i32 1
  %3 = load i32** %_M_finish, align 4
  %4 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %call = invoke %"class.std::allocator.5"* @_ZNSt12_Vector_baseIjSaIjEE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.4"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  invoke void @_ZSt8_DestroyIPjjEvT_S1_RSaIT0_E(i32* %1, i32* %3, %"class.std::allocator.5"* %call)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  %5 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  call void @_ZNSt12_Vector_baseIjSaIjEED2Ev(%"struct.std::_Vector_base.4"* %5)
  ret void

lpad:                                             ; preds = %invoke.cont, %entry
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  %9 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  invoke void @_ZNSt12_Vector_baseIjSaIjEED2Ev(%"struct.std::_Vector_base.4"* %9)
          to label %invoke.cont4 unwind label %terminate.lpad

invoke.cont4:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont4
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val5 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val5

terminate.lpad:                                   ; preds = %lpad
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZSt8_DestroyIPjjEvT_S1_RSaIT0_E(i32* %__first, i32* %__last, %"class.std::allocator.5"*) inlinehint {
entry:
  %__first.addr = alloca i32*, align 4
  %__last.addr = alloca i32*, align 4
  %.addr = alloca %"class.std::allocator.5"*, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32* %__last, i32** %__last.addr, align 4
  store %"class.std::allocator.5"* %0, %"class.std::allocator.5"** %.addr, align 4
  %1 = load i32** %__first.addr, align 4
  %2 = load i32** %__last.addr, align 4
  call void @_ZSt8_DestroyIPjEvT_S1_(i32* %1, i32* %2)
  ret void
}

define linkonce_odr %"class.std::allocator.5"* @_ZNSt12_Vector_baseIjSaIjEE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.4"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.4"*, align 4
  store %"struct.std::_Vector_base.4"* %this, %"struct.std::_Vector_base.4"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.4"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl to %"class.std::allocator.5"*
  ret %"class.std::allocator.5"* %0
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEED2Ev(%"struct.std::_Vector_base.4"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.4"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base.4"* %this, %"struct.std::_Vector_base.4"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.4"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %0 = load i32** %_M_start, align 4
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %1 = load i32** %_M_end_of_storage, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load i32** %_M_start4, align 4
  %sub.ptr.lhs.cast = ptrtoint i32* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint i32* %2 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 4
  invoke void @_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjj(%"struct.std::_Vector_base.4"* %this1, i32* %0, i32 %sub.ptr.div)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implD1Ev(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl5) nounwind
  ret void

lpad:                                             ; preds = %entry
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implD1Ev(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl6) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEE13_M_deallocateEPjj(%"struct.std::_Vector_base.4"* %this, i32* %__p, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.4"*, align 4
  %__p.addr = alloca i32*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base.4"* %this, %"struct.std::_Vector_base.4"** %this.addr, align 4
  store i32* %__p, i32** %__p.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base.4"** %this.addr
  %0 = load i32** %__p.addr, align 4
  %tobool = icmp ne i32* %0, null
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.6"*
  %2 = load i32** %__p.addr, align 4
  %3 = load i32* %__n.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorIjE10deallocateEPjj(%"class.__gnu_cxx::new_allocator.6"* %1, i32* %2, i32 %3)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implD1Ev(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this, %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr
  call void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implD2Ev(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implD2Ev(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this, %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1 to %"class.std::allocator.5"*
  call void @_ZNSaIjED2Ev(%"class.std::allocator.5"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIjED2Ev(%"class.std::allocator.5"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.5"*, align 4
  store %"class.std::allocator.5"* %this, %"class.std::allocator.5"** %this.addr, align 4
  %this1 = load %"class.std::allocator.5"** %this.addr
  %0 = bitcast %"class.std::allocator.5"* %this1 to %"class.__gnu_cxx::new_allocator.6"*
  call void @_ZN9__gnu_cxx13new_allocatorIjED2Ev(%"class.__gnu_cxx::new_allocator.6"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIjED2Ev(%"class.__gnu_cxx::new_allocator.6"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIjE10deallocateEPjj(%"class.__gnu_cxx::new_allocator.6"* %this, i32* %__p, i32) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  %__p.addr = alloca i32*, align 4
  %.addr = alloca i32, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  store i32* %__p, i32** %__p.addr, align 4
  store i32 %0, i32* %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  %1 = load i32** %__p.addr, align 4
  %2 = bitcast i32* %1 to i8*
  call void @_ZdlPv(i8* %2) nounwind
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIPjEvT_S1_(i32* %__first, i32* %__last) inlinehint {
entry:
  %__first.addr = alloca i32*, align 4
  %__last.addr = alloca i32*, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32* %__last, i32** %__last.addr, align 4
  %0 = load i32** %__first.addr, align 4
  %1 = load i32** %__last.addr, align 4
  call void @_ZNSt12_Destroy_auxILb1EE9__destroyIPjEEvT_S3_(i32* %0, i32* %1)
  ret void
}

define linkonce_odr void @_ZNSt12_Destroy_auxILb1EE9__destroyIPjEEvT_S3_(i32*, i32*) nounwind align 2 {
entry:
  %.addr = alloca i32*, align 4
  %.addr1 = alloca i32*, align 4
  store i32* %0, i32** %.addr, align 4
  store i32* %1, i32** %.addr1, align 4
  ret void
}

define linkonce_odr void @_ZNSt6vectorIjSaIjEEC2EjRKjRKS0_(%"class.std::vector.3"* %this, i32 %__n, i32* %__value, %"class.std::allocator.5"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca i32*, align 4
  %__a.addr = alloca %"class.std::allocator.5"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__value, i32** %__value.addr, align 4
  store %"class.std::allocator.5"* %__a, %"class.std::allocator.5"** %__a.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %1 = load i32* %__n.addr, align 4
  %2 = load %"class.std::allocator.5"** %__a.addr, align 4
  call void @_ZNSt12_Vector_baseIjSaIjEEC2EjRKS0_(%"struct.std::_Vector_base.4"* %0, i32 %1, %"class.std::allocator.5"* %2)
  %3 = load i32* %__n.addr, align 4
  %4 = load i32** %__value.addr, align 4
  invoke void @_ZNSt6vectorIjSaIjEE18_M_fill_initializeEjRKj(%"class.std::vector.3"* %this1, i32 %3, i32* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  ret void

lpad:                                             ; preds = %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  %8 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  invoke void @_ZNSt12_Vector_baseIjSaIjEED2Ev(%"struct.std::_Vector_base.4"* %8)
          to label %invoke.cont2 unwind label %terminate.lpad

invoke.cont2:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont2
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3

terminate.lpad:                                   ; preds = %lpad
  %9 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEEC2EjRKS0_(%"struct.std::_Vector_base.4"* %this, i32 %__n, %"class.std::allocator.5"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.4"*, align 4
  %__n.addr = alloca i32, align 4
  %__a.addr = alloca %"class.std::allocator.5"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base.4"* %this, %"struct.std::_Vector_base.4"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"class.std::allocator.5"* %__a, %"class.std::allocator.5"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base.4"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %0 = load %"class.std::allocator.5"** %__a.addr, align 4
  call void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implC1ERKS0_(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl, %"class.std::allocator.5"* %0)
  %1 = load i32* %__n.addr, align 4
  %call = invoke i32* @_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEj(%"struct.std::_Vector_base.4"* %this1, i32 %1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  store i32* %call, i32** %_M_start, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load i32** %_M_start4, align 4
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl5, i32 0, i32 1
  store i32* %2, i32** %_M_finish, align 4
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_start7 = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl6, i32 0, i32 0
  %3 = load i32** %_M_start7, align 4
  %4 = load i32* %__n.addr, align 4
  %add.ptr = getelementptr inbounds i32* %3, i32 %4
  %_M_impl8 = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl8, i32 0, i32 2
  store i32* %add.ptr, i32** %_M_end_of_storage, align 4
  ret void

lpad:                                             ; preds = %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  call void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implD1Ev(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val9 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val9
}

define linkonce_odr void @_ZNSt6vectorIjSaIjEE18_M_fill_initializeEjRKj(%"class.std::vector.3"* %this, i32 %__n, i32* %__value) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.3"*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca i32*, align 4
  store %"class.std::vector.3"* %this, %"class.std::vector.3"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__value, i32** %__value.addr, align 4
  %this1 = load %"class.std::vector.3"** %this.addr
  %0 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load i32** %_M_start, align 4
  %2 = load i32* %__n.addr, align 4
  %3 = load i32** %__value.addr, align 4
  %4 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %call = call %"class.std::allocator.5"* @_ZNSt12_Vector_baseIjSaIjEE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.4"* %4)
  call void @_ZSt24__uninitialized_fill_n_aIPjjjjEvT_T0_RKT1_RSaIT2_E(i32* %1, i32 %2, i32* %3, %"class.std::allocator.5"* %call)
  %5 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.4"* %5, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %6 = load i32** %_M_end_of_storage, align 4
  %7 = bitcast %"class.std::vector.3"* %this1 to %"struct.std::_Vector_base.4"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.4"* %7, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl3, i32 0, i32 1
  store i32* %6, i32** %_M_finish, align 4
  ret void
}

define linkonce_odr void @_ZSt24__uninitialized_fill_n_aIPjjjjEvT_T0_RKT1_RSaIT2_E(i32* %__first, i32 %__n, i32* %__x, %"class.std::allocator.5"*) inlinehint {
entry:
  %__first.addr = alloca i32*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca i32*, align 4
  %.addr = alloca %"class.std::allocator.5"*, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__x, i32** %__x.addr, align 4
  store %"class.std::allocator.5"* %0, %"class.std::allocator.5"** %.addr, align 4
  %1 = load i32** %__first.addr, align 4
  %2 = load i32* %__n.addr, align 4
  %3 = load i32** %__x.addr, align 4
  call void @_ZSt20uninitialized_fill_nIPjjjEvT_T0_RKT1_(i32* %1, i32 %2, i32* %3)
  ret void
}

define linkonce_odr void @_ZSt20uninitialized_fill_nIPjjjEvT_T0_RKT1_(i32* %__first, i32 %__n, i32* %__x) inlinehint {
entry:
  %__first.addr = alloca i32*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca i32*, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__x, i32** %__x.addr, align 4
  %0 = load i32** %__first.addr, align 4
  %1 = load i32* %__n.addr, align 4
  %2 = load i32** %__x.addr, align 4
  call void @_ZNSt22__uninitialized_fill_nILb1EE15__uninit_fill_nIPjjjEEvT_T0_RKT1_(i32* %0, i32 %1, i32* %2)
  ret void
}

define linkonce_odr void @_ZNSt22__uninitialized_fill_nILb1EE15__uninit_fill_nIPjjjEEvT_T0_RKT1_(i32* %__first, i32 %__n, i32* %__x) align 2 {
entry:
  %__first.addr = alloca i32*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca i32*, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__x, i32** %__x.addr, align 4
  %0 = load i32** %__first.addr, align 4
  %1 = load i32* %__n.addr, align 4
  %2 = load i32** %__x.addr, align 4
  %call = call i32* @_ZSt6fill_nIPjjjET_S1_T0_RKT1_(i32* %0, i32 %1, i32* %2)
  ret void
}

define linkonce_odr i32* @_ZSt6fill_nIPjjjET_S1_T0_RKT1_(i32* %__first, i32 %__n, i32* %__value) inlinehint {
entry:
  %__first.addr = alloca i32*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca i32*, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__value, i32** %__value.addr, align 4
  %0 = load i32** %__first.addr, align 4
  %call = call i32* @_ZSt12__niter_baseIPjENSt11_Niter_baseIT_E13iterator_typeES2_(i32* %0)
  %1 = load i32* %__n.addr, align 4
  %2 = load i32** %__value.addr, align 4
  %call1 = call i32* @_ZSt10__fill_n_aIPjjjEN9__gnu_cxx11__enable_ifIXsr11__is_scalarIT1_EE7__valueET_E6__typeES4_T0_RKS3_(i32* %call, i32 %1, i32* %2)
  ret i32* %call1
}

define linkonce_odr i32* @_ZSt10__fill_n_aIPjjjEN9__gnu_cxx11__enable_ifIXsr11__is_scalarIT1_EE7__valueET_E6__typeES4_T0_RKS3_(i32* %__first, i32 %__n, i32* %__value) nounwind inlinehint {
entry:
  %__first.addr = alloca i32*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca i32*, align 4
  %__tmp = alloca i32, align 4
  %__niter = alloca i32, align 4
  store i32* %__first, i32** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i32* %__value, i32** %__value.addr, align 4
  %0 = load i32** %__value.addr, align 4
  %1 = load i32* %0, align 4
  store i32 %1, i32* %__tmp, align 4
  %2 = load i32* %__n.addr, align 4
  store i32 %2, i32* %__niter, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %3 = load i32* %__niter, align 4
  %cmp = icmp ugt i32 %3, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %4 = load i32* %__tmp, align 4
  %5 = load i32** %__first.addr, align 4
  store i32 %4, i32* %5, align 4
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %6 = load i32* %__niter, align 4
  %dec = add i32 %6, -1
  store i32 %dec, i32* %__niter, align 4
  %7 = load i32** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds i32* %7, i32 1
  store i32* %incdec.ptr, i32** %__first.addr, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %8 = load i32** %__first.addr, align 4
  ret i32* %8
}

define linkonce_odr i32* @_ZSt12__niter_baseIPjENSt11_Niter_baseIT_E13iterator_typeES2_(i32* %__it) inlinehint {
entry:
  %__it.addr = alloca i32*, align 4
  store i32* %__it, i32** %__it.addr, align 4
  %0 = load i32** %__it.addr, align 4
  %call = call i32* @_ZNSt10_Iter_baseIPjLb0EE7_S_baseES0_(i32* %0)
  ret i32* %call
}

define linkonce_odr i32* @_ZNSt10_Iter_baseIPjLb0EE7_S_baseES0_(i32* %__it) nounwind align 2 {
entry:
  %__it.addr = alloca i32*, align 4
  store i32* %__it, i32** %__it.addr, align 4
  %0 = load i32** %__it.addr, align 4
  ret i32* %0
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implC1ERKS0_(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this, %"class.std::allocator.5"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.5"*, align 4
  store %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this, %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.5"* %__a, %"class.std::allocator.5"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr
  %0 = load %"class.std::allocator.5"** %__a.addr
  call void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implC2ERKS0_(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1, %"class.std::allocator.5"* %0)
  ret void
}

define linkonce_odr i32* @_ZNSt12_Vector_baseIjSaIjEE11_M_allocateEj(%"struct.std::_Vector_base.4"* %this, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.4"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base.4"* %this, %"struct.std::_Vector_base.4"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base.4"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ne i32 %0, 0
  br i1 %cmp, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.4"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.6"*
  %2 = load i32* %__n.addr, align 4
  %call = call i32* @_ZN9__gnu_cxx13new_allocatorIjE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.6"* %1, i32 %2, i8* null)
  br label %cond.end

cond.false:                                       ; preds = %entry
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi i32* [ %call, %cond.true ], [ null, %cond.false ]
  ret i32* %cond
}

define linkonce_odr i32* @_ZN9__gnu_cxx13new_allocatorIjE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.6"* %this, i32 %__n, i8*) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  %__n.addr = alloca i32, align 4
  %.addr = alloca i8*, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %0, i8** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  %1 = load i32* %__n.addr, align 4
  %call = call i32 @_ZNK9__gnu_cxx13new_allocatorIjE8max_sizeEv(%"class.__gnu_cxx::new_allocator.6"* %this1) nounwind
  %cmp = icmp ugt i32 %1, %call
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  call void @_ZSt17__throw_bad_allocv() noreturn
  unreachable

if.end:                                           ; preds = %entry
  %2 = load i32* %__n.addr, align 4
  %mul = mul i32 %2, 4
  %call2 = call noalias i8* @_Znwj(i32 %mul)
  %3 = bitcast i8* %call2 to i32*
  ret i32* %3
}

define linkonce_odr i32 @_ZNK9__gnu_cxx13new_allocatorIjE8max_sizeEv(%"class.__gnu_cxx::new_allocator.6"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  ret i32 1073741823
}

define linkonce_odr void @_ZNSt12_Vector_baseIjSaIjEE12_Vector_implC2ERKS0_(%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this, %"class.std::allocator.5"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.5"*, align 4
  store %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this, %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.5"* %__a, %"class.std::allocator.5"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1 to %"class.std::allocator.5"*
  %1 = load %"class.std::allocator.5"** %__a.addr, align 4
  call void @_ZNSaIjEC2ERKS_(%"class.std::allocator.5"* %0, %"class.std::allocator.5"* %1) nounwind
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1, i32 0, i32 0
  store i32* null, i32** %_M_start, align 4
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1, i32 0, i32 1
  store i32* null, i32** %_M_finish, align 4
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int> >::_Vector_impl"* %this1, i32 0, i32 2
  store i32* null, i32** %_M_end_of_storage, align 4
  ret void
}

define linkonce_odr void @_ZNSaIjEC2ERKS_(%"class.std::allocator.5"* %this, %"class.std::allocator.5"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.5"*, align 4
  %__a.addr = alloca %"class.std::allocator.5"*, align 4
  store %"class.std::allocator.5"* %this, %"class.std::allocator.5"** %this.addr, align 4
  store %"class.std::allocator.5"* %__a, %"class.std::allocator.5"** %__a.addr, align 4
  %this1 = load %"class.std::allocator.5"** %this.addr
  %0 = bitcast %"class.std::allocator.5"* %this1 to %"class.__gnu_cxx::new_allocator.6"*
  %1 = load %"class.std::allocator.5"** %__a.addr, align 4
  %2 = bitcast %"class.std::allocator.5"* %1 to %"class.__gnu_cxx::new_allocator.6"*
  call void @_ZN9__gnu_cxx13new_allocatorIjEC2ERKS1_(%"class.__gnu_cxx::new_allocator.6"* %0, %"class.__gnu_cxx::new_allocator.6"* %2) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIjEC2ERKS1_(%"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  %.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %0, %"class.__gnu_cxx::new_allocator.6"** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  ret void
}

define linkonce_odr void @_ZNSaIjEC2Ev(%"class.std::allocator.5"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.5"*, align 4
  store %"class.std::allocator.5"* %this, %"class.std::allocator.5"** %this.addr, align 4
  %this1 = load %"class.std::allocator.5"** %this.addr
  %0 = bitcast %"class.std::allocator.5"* %this1 to %"class.__gnu_cxx::new_allocator.6"*
  call void @_ZN9__gnu_cxx13new_allocatorIjEC2Ev(%"class.__gnu_cxx::new_allocator.6"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIjEC2Ev(%"class.__gnu_cxx::new_allocator.6"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.6"*, align 4
  store %"class.__gnu_cxx::new_allocator.6"* %this, %"class.__gnu_cxx::new_allocator.6"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.6"** %this.addr
  ret void
}

define linkonce_odr i32 @_ZNK5boost14iterator_rangeINS_12range_detail16integer_iteratorIjEEE4sizeEv(%"class.boost::iterator_range"* %this) align 2 {
entry:
  %this.addr = alloca %"class.boost::iterator_range"*, align 4
  store %"class.boost::iterator_range"* %this, %"class.boost::iterator_range"** %this.addr, align 4
  %this1 = load %"class.boost::iterator_range"** %this.addr
  %m_End = getelementptr inbounds %"class.boost::iterator_range"* %this1, i32 0, i32 1
  %0 = bitcast %"class.boost::range_detail::integer_iterator"* %m_End to %"class.boost::iterator_facade"*
  %m_Begin = getelementptr inbounds %"class.boost::iterator_range"* %this1, i32 0, i32 0
  %1 = bitcast %"class.boost::range_detail::integer_iterator"* %m_Begin to %"class.boost::iterator_facade"*
  %call = call i32 @_ZN5boostmiINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiS3_jS4_jiEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS5_22choose_difference_typeES7_S8_E4typeEE4typeERKNS_15iterator_facadeIS7_T0_T1_T2_T3_EERKNSG_IS8_T5_T6_T7_T8_EE(%"class.boost::iterator_facade"* %0, %"class.boost::iterator_facade"* %1)
  ret i32 %call
}

define linkonce_odr i32 @_ZN5boostmiINS_12range_detail16integer_iteratorIjEEjNS_27random_access_traversal_tagEjiS3_jS4_jiEENS_6detail23enable_if_interoperableIT_T4_NS_3mpl6apply2INS5_22choose_difference_typeES7_S8_E4typeEE4typeERKNS_15iterator_facadeIS7_T0_T1_T2_T3_EERKNSG_IS8_T5_T6_T7_T8_EE(%"class.boost::iterator_facade"* %lhs, %"class.boost::iterator_facade"* %rhs) inlinehint {
entry:
  %lhs.addr = alloca %"class.boost::iterator_facade"*, align 4
  %rhs.addr = alloca %"class.boost::iterator_facade"*, align 4
  %agg.tmp = alloca %"struct.mpl_::bool_", align 1
  %ref.tmp = alloca %"struct.boost::is_convertible", align 1
  store %"class.boost::iterator_facade"* %lhs, %"class.boost::iterator_facade"** %lhs.addr, align 4
  store %"class.boost::iterator_facade"* %rhs, %"class.boost::iterator_facade"** %rhs.addr, align 4
  %0 = load %"class.boost::iterator_facade"** %lhs.addr, align 4
  %1 = bitcast %"class.boost::iterator_facade"* %0 to %"class.boost::range_detail::integer_iterator"*
  %2 = load %"class.boost::iterator_facade"** %rhs.addr, align 4
  %3 = bitcast %"class.boost::iterator_facade"* %2 to %"class.boost::range_detail::integer_iterator"*
  %4 = bitcast %"struct.boost::is_convertible"* %ref.tmp to %"struct.mpl_::bool_"*
  %call = call i32 @_ZN5boost20iterator_core_access13distance_fromINS_12range_detail16integer_iteratorIjEES4_EENT_15difference_typeERKS5_RKT0_N4mpl_5bool_ILb1EEE(%"class.boost::range_detail::integer_iterator"* %1, %"class.boost::range_detail::integer_iterator"* %3)
  ret i32 %call
}

define linkonce_odr i32 @_ZN5boost20iterator_core_access13distance_fromINS_12range_detail16integer_iteratorIjEES4_EENT_15difference_typeERKS5_RKT0_N4mpl_5bool_ILb1EEE(%"class.boost::range_detail::integer_iterator"* %f1, %"class.boost::range_detail::integer_iterator"* %f2) align 2 {
entry:
  %f1.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %f2.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %0 = alloca %"struct.mpl_::bool_", align 1
  store %"class.boost::range_detail::integer_iterator"* %f1, %"class.boost::range_detail::integer_iterator"** %f1.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %f2, %"class.boost::range_detail::integer_iterator"** %f2.addr, align 4
  %1 = load %"class.boost::range_detail::integer_iterator"** %f1.addr, align 4
  %2 = load %"class.boost::range_detail::integer_iterator"** %f2.addr, align 4
  %call = call i32 @_ZNK5boost12range_detail16integer_iteratorIjE11distance_toERKS2_(%"class.boost::range_detail::integer_iterator"* %1, %"class.boost::range_detail::integer_iterator"* %2)
  %sub = sub nsw i32 0, %call
  ret i32 %sub
}

define linkonce_odr i32 @_ZNK5boost12range_detail16integer_iteratorIjE11distance_toERKS2_(%"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"* %other) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  %other.addr = alloca %"class.boost::range_detail::integer_iterator"*, align 4
  store %"class.boost::range_detail::integer_iterator"* %this, %"class.boost::range_detail::integer_iterator"** %this.addr, align 4
  store %"class.boost::range_detail::integer_iterator"* %other, %"class.boost::range_detail::integer_iterator"** %other.addr, align 4
  %this1 = load %"class.boost::range_detail::integer_iterator"** %this.addr
  %0 = load %"class.boost::range_detail::integer_iterator"** %other.addr, align 4
  %m_value = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %0, i32 0, i32 0
  %1 = load i32* %m_value, align 4
  %m_value2 = getelementptr inbounds %"class.boost::range_detail::integer_iterator"* %this1, i32 0, i32 0
  %2 = load i32* %m_value2, align 4
  %sub = sub i32 %1, %2
  ret i32 %sub
}

define linkonce_odr void @_ZN5boost8add_edgeINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEESt4pairINT0_15edge_descriptorEbENSE_17vertex_descriptorESH_RKNSE_18edge_property_typeERNS_17vec_adj_list_implIT_SE_T1_EE(%"struct.std::pair"* noalias sret %agg.result, i32 %u, i32 %v, %"struct.boost::no_property"* %p, %"class.boost::vec_adj_list_impl"* %g_) inlinehint {
entry:
  %u.addr = alloca i32, align 4
  %v.addr = alloca i32, align 4
  %p.addr = alloca %"struct.boost::no_property"*, align 4
  %g_.addr = alloca %"class.boost::vec_adj_list_impl"*, align 4
  %x = alloca i32, align 4
  %agg.tmp = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %g = alloca %"struct.boost::adj_list_helper"*, align 4
  store i32 %u, i32* %u.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  store %"struct.boost::no_property"* %p, %"struct.boost::no_property"** %p.addr, align 4
  store %"class.boost::vec_adj_list_impl"* %g_, %"class.boost::vec_adj_list_impl"** %g_.addr, align 4
  %call = call i32* @_ZSt3maxIjERKT_S2_S2_(i32* %u.addr, i32* %v.addr)
  %0 = load i32* %call
  store i32 %0, i32* %x, align 4
  %1 = load i32* %x, align 4
  %2 = load %"class.boost::vec_adj_list_impl"** %g_.addr, align 4
  %3 = bitcast %"class.boost::vec_adj_list_impl"* %2 to %"struct.boost::adj_list_helper"*
  %call1 = call i32 @_ZN5boost12num_verticesINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configENS_21directed_graph_helperISA_EEEENT_18vertices_size_typeERKNS_15adj_list_helperISD_T0_EE(%"struct.boost::adj_list_helper"* %3)
  %cmp = icmp uge i32 %1, %call1
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %4 = load %"class.boost::vec_adj_list_impl"** %g_.addr, align 4
  %m_vertices = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %4, i32 0, i32 1
  %5 = load i32* %x, align 4
  %add = add i32 %5, 1
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexC1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %agg.tmp)
  invoke void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE6resizeEjSB_(%"class.std::vector"* %m_vertices, i32 %add, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %agg.tmp)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %if.then
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %agg.tmp)
  br label %if.end

lpad:                                             ; preds = %if.then
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  invoke void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %agg.tmp)
          to label %invoke.cont2 unwind label %terminate.lpad

invoke.cont2:                                     ; preds = %lpad
  br label %eh.resume

if.end:                                           ; preds = %invoke.cont, %entry
  %9 = load %"class.boost::vec_adj_list_impl"** %g_.addr, align 4
  %10 = bitcast %"class.boost::vec_adj_list_impl"* %9 to %"struct.boost::adj_list_helper"*
  store %"struct.boost::adj_list_helper"* %10, %"struct.boost::adj_list_helper"** %g, align 4
  %11 = load i32* %u.addr, align 4
  %12 = load i32* %v.addr, align 4
  %13 = load %"struct.boost::no_property"** %p.addr, align 4
  %14 = load %"struct.boost::adj_list_helper"** %g, align 4
  %15 = bitcast %"struct.boost::adj_list_helper"* %14 to %"struct.boost::directed_graph_helper"*
  call void @_ZN5boost8add_edgeINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configEEESt4pairINS_21directed_graph_helperIT_E15edge_descriptorEbENSD_17vertex_descriptorESH_RKNSD_18edge_property_typeERSE_(%"struct.std::pair"* sret %agg.result, i32 %11, i32 %12, %"struct.boost::no_property"* %13, %"struct.boost::directed_graph_helper"* %15)
  ret void

eh.resume:                                        ; preds = %invoke.cont2
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3

terminate.lpad:                                   ; preds = %lpad
  %16 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE6resizeEjSB_(%"class.std::vector"* %this, i32 %__new_size, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__new_size.addr = alloca i32, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.47", align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__new_size, i32* %__new_size.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = load i32* %__new_size.addr, align 4
  %call = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE4sizeEv(%"class.std::vector"* %this1)
  %cmp = icmp ugt i32 %0, %call
  br i1 %cmp, label %if.then, label %if.else

if.then:                                          ; preds = %entry
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE3endEv(%"class.__gnu_cxx::__normal_iterator.47"* sret %agg.tmp, %"class.std::vector"* %this1)
  %1 = load i32* %__new_size.addr, align 4
  %call2 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE4sizeEv(%"class.std::vector"* %this1)
  %sub = sub i32 %1, %call2
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE6insertEN9__gnu_cxx17__normal_iteratorIPSB_SD_EEjRKSB_(%"class.std::vector"* %this1, %"class.__gnu_cxx::__normal_iterator.47"* byval align 4 %agg.tmp, i32 %sub, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x)
  br label %if.end6

if.else:                                          ; preds = %entry
  %2 = load i32* %__new_size.addr, align 4
  %call3 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE4sizeEv(%"class.std::vector"* %this1)
  %cmp4 = icmp ult i32 %2, %call3
  br i1 %cmp4, label %if.then5, label %if.end

if.then5:                                         ; preds = %if.else
  %3 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %3, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %5 = load i32* %__new_size.addr, align 4
  %add.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %4, i32 %5
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE15_M_erase_at_endEPSB_(%"class.std::vector"* %this1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr)
  br label %if.end

if.end:                                           ; preds = %if.then5, %if.else
  br label %if.end6

if.end6:                                          ; preds = %if.end, %if.then
  ret void
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexC1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexC2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexD2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost8add_edgeINS_6detail12adj_list_genINS_14adjacency_listINS_4vecSES4_NS_9directedSENS_11no_propertyES6_S6_NS_5listSEEES4_S4_S5_S6_S6_S6_S7_E6configEEESt4pairINS_21directed_graph_helperIT_E15edge_descriptorEbENSD_17vertex_descriptorESH_RKNSD_18edge_property_typeERSE_(%"struct.std::pair"* noalias sret %agg.result, i32 %u, i32 %v, %"struct.boost::no_property"* %p, %"struct.boost::directed_graph_helper"* %g_) inlinehint {
entry:
  %u.addr = alloca i32, align 4
  %v.addr = alloca i32, align 4
  %p.addr = alloca %"struct.boost::no_property"*, align 4
  %g_.addr = alloca %"struct.boost::directed_graph_helper"*, align 4
  %g = alloca %"class.boost::adjacency_list"*, align 4
  %i = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  %inserted = alloca i8, align 1
  %tmp = alloca %"class.boost::tuples::tuple.43", align 4
  %ref.tmp = alloca %"struct.std::pair.46", align 4
  %ref.tmp1 = alloca %"class.boost::detail::stored_edge_property", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp = alloca %"class.boost::detail::edge_desc_impl", align 4
  store i32 %u, i32* %u.addr, align 4
  store i32 %v, i32* %v.addr, align 4
  store %"struct.boost::no_property"* %p, %"struct.boost::no_property"** %p.addr, align 4
  store %"struct.boost::directed_graph_helper"* %g_, %"struct.boost::directed_graph_helper"** %g_.addr, align 4
  %0 = load %"struct.boost::directed_graph_helper"** %g_.addr, align 4
  %1 = bitcast %"struct.boost::directed_graph_helper"* %0 to %"class.boost::adjacency_list"*
  store %"class.boost::adjacency_list"* %1, %"class.boost::adjacency_list"** %g, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC1Ev(%"class.__gnu_cxx::__normal_iterator.29"* %i)
  call void @_ZN5boost6tuples3tieIN9__gnu_cxx17__normal_iteratorIPNS_6detail20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEbEENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERSF_RSG_(%"class.boost::tuples::tuple.43"* sret %tmp, %"class.__gnu_cxx::__normal_iterator.29"* %i, i8* %inserted)
  %2 = load %"class.boost::adjacency_list"** %g, align 4
  %3 = bitcast %"class.boost::adjacency_list"* %2 to %"class.boost::vec_adj_list_impl"*
  %4 = load i32* %u.addr, align 4
  %call = call %"class.std::vector.11"* @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEE13out_edge_listEj(%"class.boost::vec_adj_list_impl"* %3, i32 %4)
  %5 = load i32* %v.addr, align 4
  %6 = load %"struct.boost::no_property"** %p.addr, align 4
  call void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEC1EjRKS2_(%"class.boost::detail::stored_edge_property"* %ref.tmp1, i32 %5, %"struct.boost::no_property"* %6)
  invoke void @_ZN5boost12graph_detail4pushISt6vectorINS_6detail20stored_edge_propertyIjNS_11no_propertyEEESaIS6_EES6_EESt4pairINT_8iteratorEbERSA_RKT0_(%"struct.std::pair.46"* sret %ref.tmp, %"class.std::vector.11"* %call, %"class.boost::detail::stored_edge_property"* %ref.tmp1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %call3 = invoke %"class.boost::tuples::tuple.43"* @_ZN5boost6tuples5tupleIRN9__gnu_cxx17__normal_iteratorIPNS_6detail20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEERbNS0_9null_typeESF_SF_SF_SF_SF_SF_SF_EaSISC_bEERSG_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple.43"* %tmp, %"struct.std::pair.46"* %ref.tmp)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  call void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEED1Ev(%"class.boost::detail::stored_edge_property"* %ref.tmp1)
  %7 = load i32* %u.addr, align 4
  %8 = load i32* %v.addr, align 4
  %call5 = call %"class.boost::detail::stored_edge_property"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.29"* %i)
  %call6 = call %"struct.boost::no_property"* @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEE12get_propertyEv(%"class.boost::detail::stored_edge_property"* %call5)
  %9 = bitcast %"struct.boost::no_property"* %call6 to i8*
  call void @_ZN5boost6detail14edge_desc_implINS_12directed_tagEjEC1EjjPKv(%"class.boost::detail::edge_desc_impl"* %agg.tmp, i32 %7, i32 %8, i8* %9)
  %10 = load i8* %inserted, align 1
  %tobool = trunc i8 %10 to i1
  call void @_ZSt9make_pairIN5boost6detail14edge_desc_implINS0_12directed_tagEjEEbESt4pairIT_T0_ES6_S7_(%"struct.std::pair"* sret %agg.result, %"class.boost::detail::edge_desc_impl"* byval align 4 %agg.tmp, i1 zeroext %tobool)
  ret void

lpad:                                             ; preds = %invoke.cont, %entry
  %11 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %12 = extractvalue { i8*, i32 } %11, 0
  store i8* %12, i8** %exn.slot
  %13 = extractvalue { i8*, i32 } %11, 1
  store i32 %13, i32* %ehselector.slot
  invoke void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEED1Ev(%"class.boost::detail::stored_edge_property"* %ref.tmp1)
          to label %invoke.cont4 unwind label %terminate.lpad

invoke.cont4:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont4
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7

terminate.lpad:                                   ; preds = %lpad
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost6tuples3tieIN9__gnu_cxx17__normal_iteratorIPNS_6detail20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEEbEENS0_6detail10tie_mapperIT_T0_vvvvvvvvE4typeERSF_RSG_(%"class.boost::tuples::tuple.43"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.29"* %t0, i8* %t1) inlinehint {
entry:
  %t0.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  %t1.addr = alloca i8*, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %t0, %"class.__gnu_cxx::__normal_iterator.29"** %t0.addr, align 4
  store i8* %t1, i8** %t1.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.29"** %t0.addr, align 4
  %1 = load i8** %t1.addr, align 4
  call void @_ZN5boost6tuples5tupleIRN9__gnu_cxx17__normal_iteratorIPNS_6detail20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEERbNS0_9null_typeESF_SF_SF_SF_SF_SF_SF_EC1ESD_SE_(%"class.boost::tuples::tuple.43"* %agg.result, %"class.__gnu_cxx::__normal_iterator.29"* %0, i8* %1)
  ret void
}

define linkonce_odr %"class.boost::tuples::tuple.43"* @_ZN5boost6tuples5tupleIRN9__gnu_cxx17__normal_iteratorIPNS_6detail20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEERbNS0_9null_typeESF_SF_SF_SF_SF_SF_SF_EaSISC_bEERSG_RKSt4pairIT_T0_E(%"class.boost::tuples::tuple.43"* %this, %"struct.std::pair.46"* %k) nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple.43"*, align 4
  %k.addr = alloca %"struct.std::pair.46"*, align 4
  store %"class.boost::tuples::tuple.43"* %this, %"class.boost::tuples::tuple.43"** %this.addr, align 4
  store %"struct.std::pair.46"* %k, %"struct.std::pair.46"** %k.addr, align 4
  %this1 = load %"class.boost::tuples::tuple.43"** %this.addr
  %0 = bitcast %"class.boost::tuples::tuple.43"* %this1 to %"struct.boost::tuples::cons.44"*
  %head = getelementptr inbounds %"struct.boost::tuples::cons.44"* %0, i32 0, i32 0
  %ref = load %"class.__gnu_cxx::__normal_iterator.29"** %head, align 4
  %1 = load %"struct.std::pair.46"** %k.addr, align 4
  %first = getelementptr inbounds %"struct.std::pair.46"* %1, i32 0, i32 0
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %ref to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %4 = load %"struct.std::pair.46"** %k.addr, align 4
  %second = getelementptr inbounds %"struct.std::pair.46"* %4, i32 0, i32 1
  %5 = load i8* %second, align 1
  %tobool = trunc i8 %5 to i1
  %6 = bitcast %"class.boost::tuples::tuple.43"* %this1 to %"struct.boost::tuples::cons.44"*
  %tail = getelementptr inbounds %"struct.boost::tuples::cons.44"* %6, i32 0, i32 1
  %head2 = getelementptr inbounds %"struct.boost::tuples::cons.45"* %tail, i32 0, i32 0
  %ref3 = load i8** %head2, align 4
  %frombool = zext i1 %tobool to i8
  store i8 %frombool, i8* %ref3, align 1
  ret %"class.boost::tuples::tuple.43"* %this1
}

define linkonce_odr void @_ZN5boost12graph_detail4pushISt6vectorINS_6detail20stored_edge_propertyIjNS_11no_propertyEEESaIS6_EES6_EESt4pairINT_8iteratorEbERSA_RKT0_(%"struct.std::pair.46"* noalias sret %agg.result, %"class.std::vector.11"* %c, %"class.boost::detail::stored_edge_property"* %v) {
entry:
  %c.addr = alloca %"class.std::vector.11"*, align 4
  %v.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %agg.tmp = alloca %"struct.boost::graph_detail::back_insertion_sequence_tag", align 4
  %ref.tmp = alloca %"struct.boost::graph_detail::vector_tag", align 4
  store %"class.std::vector.11"* %c, %"class.std::vector.11"** %c.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %v, %"class.boost::detail::stored_edge_property"** %v.addr, align 4
  %0 = load %"class.std::vector.11"** %c.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %v.addr, align 4
  %2 = load %"class.std::vector.11"** %c.addr, align 4
  call void @_ZN5boost12graph_detail18container_categoryINS_6detail20stored_edge_propertyIjNS_11no_propertyEEESaIS5_EEENS0_10vector_tagERKSt6vectorIT_T0_E(%"struct.boost::graph_detail::vector_tag"* sret %ref.tmp, %"class.std::vector.11"* %2)
  %3 = bitcast %"struct.boost::graph_detail::vector_tag"* %ref.tmp to i8**
  %vtable = load i8** %3
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -28
  %4 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %4
  %5 = bitcast %"struct.boost::graph_detail::vector_tag"* %ref.tmp to i8*
  %add.ptr = getelementptr inbounds i8* %5, i32 %vbase.offset
  %6 = bitcast i8* %add.ptr to %"struct.boost::graph_detail::back_insertion_sequence_tag"*
  call void @_ZN5boost12graph_detail27back_insertion_sequence_tagC1ERKS1_(%"struct.boost::graph_detail::back_insertion_sequence_tag"* %agg.tmp, %"struct.boost::graph_detail::back_insertion_sequence_tag"* %6) nounwind
  call void @_ZN5boost12graph_detail13push_dispatchISt6vectorINS_6detail20stored_edge_propertyIjNS_11no_propertyEEESaIS6_EES6_EESt4pairINT_8iteratorEbERSA_RKT0_NS0_27back_insertion_sequence_tagE(%"struct.std::pair.46"* sret %agg.result, %"class.std::vector.11"* %0, %"class.boost::detail::stored_edge_property"* %1, %"struct.boost::graph_detail::back_insertion_sequence_tag"* %agg.tmp)
  ret void
}

define linkonce_odr void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEC1EjRKS2_(%"class.boost::detail::stored_edge_property"* %this, i32 %target, %"struct.boost::no_property"* %p) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %target.addr = alloca i32, align 4
  %p.addr = alloca %"struct.boost::no_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %this, %"class.boost::detail::stored_edge_property"** %this.addr, align 4
  store i32 %target, i32* %target.addr, align 4
  store %"struct.boost::no_property"* %p, %"struct.boost::no_property"** %p.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge_property"** %this.addr
  %0 = load i32* %target.addr, align 4
  %1 = load %"struct.boost::no_property"** %p.addr
  call void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEC2EjRKS2_(%"class.boost::detail::stored_edge_property"* %this1, i32 %0, %"struct.boost::no_property"* %1)
  ret void
}

define linkonce_odr void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEED1Ev(%"class.boost::detail::stored_edge_property"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %this, %"class.boost::detail::stored_edge_property"** %this.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge_property"** %this.addr
  call void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEED2Ev(%"class.boost::detail::stored_edge_property"* %this1)
  ret void
}

define linkonce_odr void @_ZSt9make_pairIN5boost6detail14edge_desc_implINS0_12directed_tagEjEEbESt4pairIT_T0_ES6_S7_(%"struct.std::pair"* noalias sret %agg.result, %"class.boost::detail::edge_desc_impl"* byval align 4 %__x, i1 zeroext %__y) inlinehint {
entry:
  %__y.addr = alloca i8, align 1
  %frombool = zext i1 %__y to i8
  store i8 %frombool, i8* %__y.addr, align 1
  call void @_ZNSt4pairIN5boost6detail14edge_desc_implINS0_12directed_tagEjEEbEC1ERKS4_RKb(%"struct.std::pair"* %agg.result, %"class.boost::detail::edge_desc_impl"* %__x, i8* %__y.addr)
  ret void
}

define linkonce_odr void @_ZNSt4pairIN5boost6detail14edge_desc_implINS0_12directed_tagEjEEbEC1ERKS4_RKb(%"struct.std::pair"* %this, %"class.boost::detail::edge_desc_impl"* %__a, i8* %__b) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::pair"*, align 4
  %__a.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__b.addr = alloca i8*, align 4
  store %"struct.std::pair"* %this, %"struct.std::pair"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__a, %"class.boost::detail::edge_desc_impl"** %__a.addr, align 4
  store i8* %__b, i8** %__b.addr, align 4
  %this1 = load %"struct.std::pair"** %this.addr
  %0 = load i8** %__b.addr
  %1 = load %"class.boost::detail::edge_desc_impl"** %__a.addr
  call void @_ZNSt4pairIN5boost6detail14edge_desc_implINS0_12directed_tagEjEEbEC2ERKS4_RKb(%"struct.std::pair"* %this1, %"class.boost::detail::edge_desc_impl"* %1, i8* %0)
  ret void
}

define linkonce_odr void @_ZNSt4pairIN5boost6detail14edge_desc_implINS0_12directed_tagEjEEbEC2ERKS4_RKb(%"struct.std::pair"* %this, %"class.boost::detail::edge_desc_impl"* %__a, i8* %__b) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::pair"*, align 4
  %__a.addr = alloca %"class.boost::detail::edge_desc_impl"*, align 4
  %__b.addr = alloca i8*, align 4
  store %"struct.std::pair"* %this, %"struct.std::pair"** %this.addr, align 4
  store %"class.boost::detail::edge_desc_impl"* %__a, %"class.boost::detail::edge_desc_impl"** %__a.addr, align 4
  store i8* %__b, i8** %__b.addr, align 4
  %this1 = load %"struct.std::pair"** %this.addr
  %first = getelementptr inbounds %"struct.std::pair"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::edge_desc_impl"** %__a.addr, align 4
  %1 = bitcast %"class.boost::detail::edge_desc_impl"* %first to i8*
  %2 = bitcast %"class.boost::detail::edge_desc_impl"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 12, i32 4, i1 false)
  %second = getelementptr inbounds %"struct.std::pair"* %this1, i32 0, i32 1
  %3 = load i8** %__b.addr, align 4
  %4 = load i8* %3, align 1
  %tobool = trunc i8 %4 to i1
  %frombool = zext i1 %tobool to i8
  store i8 %frombool, i8* %second, align 1
  ret void
}

define linkonce_odr void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEED2Ev(%"class.boost::detail::stored_edge_property"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %this, %"class.boost::detail::stored_edge_property"** %this.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge_property"** %this.addr
  %m_property = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %this1, i32 0, i32 1
  call void @_ZNSt8auto_ptrIN5boost11no_propertyEED1Ev(%"class.std::auto_ptr"* %m_property)
  ret void
}

define linkonce_odr void @_ZNSt8auto_ptrIN5boost11no_propertyEED1Ev(%"class.std::auto_ptr"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::auto_ptr"*, align 4
  store %"class.std::auto_ptr"* %this, %"class.std::auto_ptr"** %this.addr, align 4
  %this1 = load %"class.std::auto_ptr"** %this.addr
  call void @_ZNSt8auto_ptrIN5boost11no_propertyEED2Ev(%"class.std::auto_ptr"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt8auto_ptrIN5boost11no_propertyEED2Ev(%"class.std::auto_ptr"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::auto_ptr"*, align 4
  store %"class.std::auto_ptr"* %this, %"class.std::auto_ptr"** %this.addr, align 4
  %this1 = load %"class.std::auto_ptr"** %this.addr
  %_M_ptr = getelementptr inbounds %"class.std::auto_ptr"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::no_property"** %_M_ptr, align 4
  %isnull = icmp eq %"struct.boost::no_property"* %0, null
  br i1 %isnull, label %delete.end, label %delete.notnull

delete.notnull:                                   ; preds = %entry
  %1 = bitcast %"struct.boost::no_property"* %0 to i8*
  call void @_ZdlPv(i8* %1) nounwind
  br label %delete.end

delete.end:                                       ; preds = %delete.notnull, %entry
  ret void
}

define linkonce_odr void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEC2EjRKS2_(%"class.boost::detail::stored_edge_property"* %this, i32 %target, %"struct.boost::no_property"* %p) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %target.addr = alloca i32, align 4
  %p.addr = alloca %"struct.boost::no_property"*, align 4
  %ref.tmp = alloca %"struct.boost::no_property", align 1
  store %"class.boost::detail::stored_edge_property"* %this, %"class.boost::detail::stored_edge_property"** %this.addr, align 4
  store i32 %target, i32* %target.addr, align 4
  store %"struct.boost::no_property"* %p, %"struct.boost::no_property"** %p.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge_property"** %this.addr
  %0 = bitcast %"class.boost::detail::stored_edge_property"* %this1 to %"class.boost::detail::stored_edge"*
  %1 = load i32* %target.addr, align 4
  call void @_ZN5boost6detail11stored_edgeIjEC2EjRKNS_11no_propertyE(%"class.boost::detail::stored_edge"* %0, i32 %1, %"struct.boost::no_property"* %ref.tmp)
  %m_property = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %this1, i32 0, i32 1
  %call = call noalias i8* @_Znwj(i32 1)
  %2 = bitcast i8* %call to %"struct.boost::no_property"*
  %3 = load %"struct.boost::no_property"** %p.addr, align 4
  call void @_ZNSt8auto_ptrIN5boost11no_propertyEEC1EPS1_(%"class.std::auto_ptr"* %m_property, %"struct.boost::no_property"* %2) nounwind
  ret void
}

define linkonce_odr void @_ZN5boost6detail11stored_edgeIjEC2EjRKNS_11no_propertyE(%"class.boost::detail::stored_edge"* %this, i32 %target, %"struct.boost::no_property"*) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge"*, align 4
  %target.addr = alloca i32, align 4
  %.addr = alloca %"struct.boost::no_property"*, align 4
  store %"class.boost::detail::stored_edge"* %this, %"class.boost::detail::stored_edge"** %this.addr, align 4
  store i32 %target, i32* %target.addr, align 4
  store %"struct.boost::no_property"* %0, %"struct.boost::no_property"** %.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge"** %this.addr
  %1 = bitcast %"class.boost::detail::stored_edge"* %this1 to %"struct.boost::equality_comparable1"*
  %m_target = getelementptr inbounds %"class.boost::detail::stored_edge"* %this1, i32 0, i32 0
  %2 = load i32* %target.addr, align 4
  store i32 %2, i32* %m_target, align 4
  ret void
}

define linkonce_odr void @_ZNSt8auto_ptrIN5boost11no_propertyEEC1EPS1_(%"class.std::auto_ptr"* %this, %"struct.boost::no_property"* %__p) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::auto_ptr"*, align 4
  %__p.addr = alloca %"struct.boost::no_property"*, align 4
  store %"class.std::auto_ptr"* %this, %"class.std::auto_ptr"** %this.addr, align 4
  store %"struct.boost::no_property"* %__p, %"struct.boost::no_property"** %__p.addr, align 4
  %this1 = load %"class.std::auto_ptr"** %this.addr
  %0 = load %"struct.boost::no_property"** %__p.addr, align 4
  call void @_ZNSt8auto_ptrIN5boost11no_propertyEEC2EPS1_(%"class.std::auto_ptr"* %this1, %"struct.boost::no_property"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZNSt8auto_ptrIN5boost11no_propertyEEC2EPS1_(%"class.std::auto_ptr"* %this, %"struct.boost::no_property"* %__p) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::auto_ptr"*, align 4
  %__p.addr = alloca %"struct.boost::no_property"*, align 4
  store %"class.std::auto_ptr"* %this, %"class.std::auto_ptr"** %this.addr, align 4
  store %"struct.boost::no_property"* %__p, %"struct.boost::no_property"** %__p.addr, align 4
  %this1 = load %"class.std::auto_ptr"** %this.addr
  %_M_ptr = getelementptr inbounds %"class.std::auto_ptr"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::no_property"** %__p.addr, align 4
  store %"struct.boost::no_property"* %0, %"struct.boost::no_property"** %_M_ptr, align 4
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail13push_dispatchISt6vectorINS_6detail20stored_edge_propertyIjNS_11no_propertyEEESaIS6_EES6_EESt4pairINT_8iteratorEbERSA_RKT0_NS0_27back_insertion_sequence_tagE(%"struct.std::pair.46"* noalias sret %agg.result, %"class.std::vector.11"* %c, %"class.boost::detail::stored_edge_property"* %v, %"struct.boost::graph_detail::back_insertion_sequence_tag"*) {
entry:
  %c.addr = alloca %"class.std::vector.11"*, align 4
  %v.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  store %"class.std::vector.11"* %c, %"class.std::vector.11"** %c.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %v, %"class.boost::detail::stored_edge_property"** %v.addr, align 4
  %1 = load %"class.std::vector.11"** %c.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_property"** %v.addr, align 4
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE9push_backERKS4_(%"class.std::vector.11"* %1, %"class.boost::detail::stored_edge_property"* %2)
  %3 = load %"class.std::vector.11"** %c.addr, align 4
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator.29"* sret %agg.tmp1, %"class.std::vector.11"* %3)
  call void @_ZN5boost5priorIN9__gnu_cxx17__normal_iteratorIPNS_6detail20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEEET_SC_(%"class.__gnu_cxx::__normal_iterator.29"* sret %agg.tmp, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %agg.tmp1)
  call void @_ZSt9make_pairIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEbESt4pairIT_T0_ESD_SE_(%"struct.std::pair.46"* sret %agg.result, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %agg.tmp, i1 zeroext true)
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail27back_insertion_sequence_tagC1ERKS1_(%"struct.boost::graph_detail::back_insertion_sequence_tag"* %this, %"struct.boost::graph_detail::back_insertion_sequence_tag"*) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::back_insertion_sequence_tag"*, align 4
  %.addr = alloca %"struct.boost::graph_detail::back_insertion_sequence_tag"*, align 4
  store %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this, %"struct.boost::graph_detail::back_insertion_sequence_tag"** %this.addr, align 4
  store %"struct.boost::graph_detail::back_insertion_sequence_tag"* %0, %"struct.boost::graph_detail::back_insertion_sequence_tag"** %.addr, align 4
  %this1 = load %"struct.boost::graph_detail::back_insertion_sequence_tag"** %this.addr
  %1 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to %"struct.boost::graph_detail::container_tag"*
  %2 = load %"struct.boost::graph_detail::back_insertion_sequence_tag"** %.addr, align 4
  %3 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %2 to i8**
  %vtable = load i8** %3
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -12
  %4 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %4
  %5 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %2 to i8*
  %add.ptr = getelementptr inbounds i8* %5, i32 %vbase.offset
  %6 = bitcast i8* %add.ptr to %"struct.boost::graph_detail::container_tag"*
  %7 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to %"struct.boost::graph_detail::forward_container_tag"*
  %8 = load %"struct.boost::graph_detail::back_insertion_sequence_tag"** %.addr, align 4
  %9 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %8 to i8**
  %vtable2 = load i8** %9
  %vbase.offset.ptr3 = getelementptr i8* %vtable2, i64 -16
  %10 = bitcast i8* %vbase.offset.ptr3 to i32*
  %vbase.offset4 = load i32* %10
  %11 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %8 to i8*
  %add.ptr5 = getelementptr inbounds i8* %11, i32 %vbase.offset4
  %12 = bitcast i8* %add.ptr5 to %"struct.boost::graph_detail::forward_container_tag"*
  call void @_ZN5boost12graph_detail21forward_container_tagC2ERKS1_(%"struct.boost::graph_detail::forward_container_tag"* %7, i8** getelementptr inbounds ([6 x i8*]* @_ZTTN5boost12graph_detail27back_insertion_sequence_tagE, i64 0, i64 5), %"struct.boost::graph_detail::forward_container_tag"* %12) nounwind
  %13 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to %"struct.boost::graph_detail::sequence_tag"*
  %14 = load %"struct.boost::graph_detail::back_insertion_sequence_tag"** %.addr, align 4
  %15 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %14 to i8**
  %vtable6 = load i8** %15
  %vbase.offset.ptr7 = getelementptr i8* %vtable6, i64 -20
  %16 = bitcast i8* %vbase.offset.ptr7 to i32*
  %vbase.offset8 = load i32* %16
  %17 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %14 to i8*
  %add.ptr9 = getelementptr inbounds i8* %17, i32 %vbase.offset8
  %18 = bitcast i8* %add.ptr9 to %"struct.boost::graph_detail::sequence_tag"*
  call void @_ZN5boost12graph_detail12sequence_tagC2ERKS1_(%"struct.boost::graph_detail::sequence_tag"* %13, i8** getelementptr inbounds ([6 x i8*]* @_ZTTN5boost12graph_detail27back_insertion_sequence_tagE, i64 0, i64 3), %"struct.boost::graph_detail::sequence_tag"* %18) nounwind
  %19 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27back_insertion_sequence_tagE, i64 1, i64 0), i8*** %19
  %20 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27back_insertion_sequence_tagE, i64 1, i64 0), i8*** %20
  %21 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([5 x i8*]* @_ZTVN5boost12graph_detail27back_insertion_sequence_tagE, i64 1, i64 0), i8*** %21
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail18container_categoryINS_6detail20stored_edge_propertyIjNS_11no_propertyEEESaIS5_EEENS0_10vector_tagERKSt6vectorIT_T0_E(%"struct.boost::graph_detail::vector_tag"* noalias sret %agg.result, %"class.std::vector.11"*) nounwind {
entry:
  %.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %0, %"class.std::vector.11"** %.addr, align 4
  %1 = bitcast %"struct.boost::graph_detail::vector_tag"* %agg.result to i8*
  call void @llvm.memset.p0i8.i32(i8* %1, i8 0, i32 8, i32 4, i1 false)
  call void @_ZN5boost12graph_detail10vector_tagC1Ev(%"struct.boost::graph_detail::vector_tag"* %agg.result) nounwind
  ret void
}

declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind

define linkonce_odr void @_ZN5boost12graph_detail10vector_tagC1Ev(%"struct.boost::graph_detail::vector_tag"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::vector_tag"*, align 4
  store %"struct.boost::graph_detail::vector_tag"* %this, %"struct.boost::graph_detail::vector_tag"** %this.addr, align 4
  %this1 = load %"struct.boost::graph_detail::vector_tag"** %this.addr
  %0 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to %"struct.boost::graph_detail::container_tag"*
  %1 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to %"struct.boost::graph_detail::forward_container_tag"*
  call void @_ZN5boost12graph_detail21forward_container_tagC2Ev(%"struct.boost::graph_detail::forward_container_tag"* %1, i8** getelementptr inbounds ([17 x i8*]* @_ZTTN5boost12graph_detail10vector_tagE, i64 0, i64 11)) nounwind
  %2 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to %"struct.boost::graph_detail::reversible_container_tag"*
  call void @_ZN5boost12graph_detail24reversible_container_tagC2Ev(%"struct.boost::graph_detail::reversible_container_tag"* %2, i8** getelementptr inbounds ([17 x i8*]* @_ZTTN5boost12graph_detail10vector_tagE, i64 0, i64 9)) nounwind
  %3 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to %"struct.boost::graph_detail::random_access_container_tag"*
  call void @_ZN5boost12graph_detail27random_access_container_tagC2Ev(%"struct.boost::graph_detail::random_access_container_tag"* %3, i8** getelementptr inbounds ([17 x i8*]* @_ZTTN5boost12graph_detail10vector_tagE, i64 0, i64 6)) nounwind
  %4 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8*
  %5 = getelementptr inbounds i8* %4, i64 4
  %6 = bitcast i8* %5 to %"struct.boost::graph_detail::sequence_tag"*
  call void @_ZN5boost12graph_detail12sequence_tagC2Ev(%"struct.boost::graph_detail::sequence_tag"* %6, i8** getelementptr inbounds ([17 x i8*]* @_ZTTN5boost12graph_detail10vector_tagE, i64 0, i64 15)) nounwind
  %7 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8*
  %8 = getelementptr inbounds i8* %7, i64 4
  %9 = bitcast i8* %8 to %"struct.boost::graph_detail::back_insertion_sequence_tag"*
  call void @_ZN5boost12graph_detail27back_insertion_sequence_tagC2Ev(%"struct.boost::graph_detail::back_insertion_sequence_tag"* %9, i8** getelementptr inbounds ([17 x i8*]* @_ZTTN5boost12graph_detail10vector_tagE, i64 0, i64 12)) nounwind
  %10 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8), i8*** %10
  %11 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8), i8*** %11
  %12 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8), i8*** %12
  %13 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8***
  store i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 0, i64 8), i8*** %13
  %14 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8*
  %add.ptr = getelementptr inbounds i8* %14, i32 4
  %15 = bitcast i8* %add.ptr to i8***
  store i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 1, i64 0), i8*** %15
  %16 = bitcast %"struct.boost::graph_detail::vector_tag"* %this1 to i8*
  %add.ptr2 = getelementptr inbounds i8* %16, i32 4
  %17 = bitcast i8* %add.ptr2 to i8***
  store i8** getelementptr inbounds ([13 x i8*]* @_ZTVN5boost12graph_detail10vector_tagE, i64 1, i64 0), i8*** %17
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail21forward_container_tagC2Ev(%"struct.boost::graph_detail::forward_container_tag"* %this, i8** %vtt) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::forward_container_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  store %"struct.boost::graph_detail::forward_container_tag"* %this, %"struct.boost::graph_detail::forward_container_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  %this1 = load %"struct.boost::graph_detail::forward_container_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %0 = load i8** %vtt2
  %1 = bitcast %"struct.boost::graph_detail::forward_container_tag"* %this1 to i8**
  store i8* %0, i8** %1
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail24reversible_container_tagC2Ev(%"struct.boost::graph_detail::reversible_container_tag"* %this, i8** %vtt) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::reversible_container_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  store %"struct.boost::graph_detail::reversible_container_tag"* %this, %"struct.boost::graph_detail::reversible_container_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  %this1 = load %"struct.boost::graph_detail::reversible_container_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %0 = load i8** %vtt2
  %1 = bitcast %"struct.boost::graph_detail::reversible_container_tag"* %this1 to i8**
  store i8* %0, i8** %1
  %2 = getelementptr inbounds i8** %vtt2, i64 1
  %3 = load i8** %2
  %4 = bitcast %"struct.boost::graph_detail::reversible_container_tag"* %this1 to i8**
  %vtable = load i8** %4
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -16
  %5 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %5
  %6 = bitcast %"struct.boost::graph_detail::reversible_container_tag"* %this1 to i8*
  %add.ptr = getelementptr inbounds i8* %6, i32 %vbase.offset
  %7 = bitcast i8* %add.ptr to i8**
  store i8* %3, i8** %7
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail27random_access_container_tagC2Ev(%"struct.boost::graph_detail::random_access_container_tag"* %this, i8** %vtt) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::random_access_container_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  store %"struct.boost::graph_detail::random_access_container_tag"* %this, %"struct.boost::graph_detail::random_access_container_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  %this1 = load %"struct.boost::graph_detail::random_access_container_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %0 = load i8** %vtt2
  %1 = bitcast %"struct.boost::graph_detail::random_access_container_tag"* %this1 to i8**
  store i8* %0, i8** %1
  %2 = getelementptr inbounds i8** %vtt2, i64 1
  %3 = load i8** %2
  %4 = bitcast %"struct.boost::graph_detail::random_access_container_tag"* %this1 to i8**
  %vtable = load i8** %4
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -20
  %5 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %5
  %6 = bitcast %"struct.boost::graph_detail::random_access_container_tag"* %this1 to i8*
  %add.ptr = getelementptr inbounds i8* %6, i32 %vbase.offset
  %7 = bitcast i8* %add.ptr to i8**
  store i8* %3, i8** %7
  %8 = getelementptr inbounds i8** %vtt2, i64 2
  %9 = load i8** %8
  %10 = bitcast %"struct.boost::graph_detail::random_access_container_tag"* %this1 to i8**
  %vtable3 = load i8** %10
  %vbase.offset.ptr4 = getelementptr i8* %vtable3, i64 -16
  %11 = bitcast i8* %vbase.offset.ptr4 to i32*
  %vbase.offset5 = load i32* %11
  %12 = bitcast %"struct.boost::graph_detail::random_access_container_tag"* %this1 to i8*
  %add.ptr6 = getelementptr inbounds i8* %12, i32 %vbase.offset5
  %13 = bitcast i8* %add.ptr6 to i8**
  store i8* %9, i8** %13
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail12sequence_tagC2Ev(%"struct.boost::graph_detail::sequence_tag"* %this, i8** %vtt) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::sequence_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  store %"struct.boost::graph_detail::sequence_tag"* %this, %"struct.boost::graph_detail::sequence_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  %this1 = load %"struct.boost::graph_detail::sequence_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %0 = load i8** %vtt2
  %1 = bitcast %"struct.boost::graph_detail::sequence_tag"* %this1 to i8**
  store i8* %0, i8** %1
  %2 = getelementptr inbounds i8** %vtt2, i64 1
  %3 = load i8** %2
  %4 = bitcast %"struct.boost::graph_detail::sequence_tag"* %this1 to i8**
  %vtable = load i8** %4
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -16
  %5 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %5
  %6 = bitcast %"struct.boost::graph_detail::sequence_tag"* %this1 to i8*
  %add.ptr = getelementptr inbounds i8* %6, i32 %vbase.offset
  %7 = bitcast i8* %add.ptr to i8**
  store i8* %3, i8** %7
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail27back_insertion_sequence_tagC2Ev(%"struct.boost::graph_detail::back_insertion_sequence_tag"* %this, i8** %vtt) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::back_insertion_sequence_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  store %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this, %"struct.boost::graph_detail::back_insertion_sequence_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  %this1 = load %"struct.boost::graph_detail::back_insertion_sequence_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %0 = load i8** %vtt2
  %1 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8**
  store i8* %0, i8** %1
  %2 = getelementptr inbounds i8** %vtt2, i64 1
  %3 = load i8** %2
  %4 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8**
  %vtable = load i8** %4
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -20
  %5 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %5
  %6 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8*
  %add.ptr = getelementptr inbounds i8* %6, i32 %vbase.offset
  %7 = bitcast i8* %add.ptr to i8**
  store i8* %3, i8** %7
  %8 = getelementptr inbounds i8** %vtt2, i64 2
  %9 = load i8** %8
  %10 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8**
  %vtable3 = load i8** %10
  %vbase.offset.ptr4 = getelementptr i8* %vtable3, i64 -16
  %11 = bitcast i8* %vbase.offset.ptr4 to i32*
  %vbase.offset5 = load i32* %11
  %12 = bitcast %"struct.boost::graph_detail::back_insertion_sequence_tag"* %this1 to i8*
  %add.ptr6 = getelementptr inbounds i8* %12, i32 %vbase.offset5
  %13 = bitcast i8* %add.ptr6 to i8**
  store i8* %9, i8** %13
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail21forward_container_tagC2ERKS1_(%"struct.boost::graph_detail::forward_container_tag"* %this, i8** %vtt, %"struct.boost::graph_detail::forward_container_tag"*) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::forward_container_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  %.addr = alloca %"struct.boost::graph_detail::forward_container_tag"*, align 4
  store %"struct.boost::graph_detail::forward_container_tag"* %this, %"struct.boost::graph_detail::forward_container_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  store %"struct.boost::graph_detail::forward_container_tag"* %0, %"struct.boost::graph_detail::forward_container_tag"** %.addr, align 4
  %this1 = load %"struct.boost::graph_detail::forward_container_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %1 = load i8** %vtt2
  %2 = bitcast %"struct.boost::graph_detail::forward_container_tag"* %this1 to i8**
  store i8* %1, i8** %2
  ret void
}

define linkonce_odr void @_ZN5boost12graph_detail12sequence_tagC2ERKS1_(%"struct.boost::graph_detail::sequence_tag"* %this, i8** %vtt, %"struct.boost::graph_detail::sequence_tag"*) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::graph_detail::sequence_tag"*, align 4
  %vtt.addr = alloca i8**, align 4
  %.addr = alloca %"struct.boost::graph_detail::sequence_tag"*, align 4
  store %"struct.boost::graph_detail::sequence_tag"* %this, %"struct.boost::graph_detail::sequence_tag"** %this.addr, align 4
  store i8** %vtt, i8*** %vtt.addr, align 4
  store %"struct.boost::graph_detail::sequence_tag"* %0, %"struct.boost::graph_detail::sequence_tag"** %.addr, align 4
  %this1 = load %"struct.boost::graph_detail::sequence_tag"** %this.addr
  %vtt2 = load i8*** %vtt.addr
  %1 = load i8** %vtt2
  %2 = bitcast %"struct.boost::graph_detail::sequence_tag"* %this1 to i8**
  store i8* %1, i8** %2
  %3 = getelementptr inbounds i8** %vtt2, i64 1
  %4 = load i8** %3
  %5 = bitcast %"struct.boost::graph_detail::sequence_tag"* %this1 to i8**
  %vtable = load i8** %5
  %vbase.offset.ptr = getelementptr i8* %vtable, i64 -16
  %6 = bitcast i8* %vbase.offset.ptr to i32*
  %vbase.offset = load i32* %6
  %7 = bitcast %"struct.boost::graph_detail::sequence_tag"* %this1 to i8*
  %add.ptr = getelementptr inbounds i8* %7, i32 %vbase.offset
  %8 = bitcast i8* %add.ptr to i8**
  store i8* %4, i8** %8
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE9push_backERKS4_(%"class.std::vector.11"* %this, %"class.boost::detail::stored_edge_property"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__x.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__x, %"class.boost::detail::stored_edge_property"** %__x.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"class.boost::detail::stored_edge_property"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %2, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %3 = load %"class.boost::detail::stored_edge_property"** %_M_end_of_storage, align 4
  %cmp = icmp ne %"class.boost::detail::stored_edge_property"* %1, %3
  br i1 %cmp, label %if.then, label %if.else

if.then:                                          ; preds = %entry
  %4 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.12"* %4, i32 0, i32 0
  %5 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl3 to %"class.__gnu_cxx::new_allocator.14"*
  %6 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl4 = getelementptr inbounds %"struct.std::_Vector_base.12"* %6, i32 0, i32 0
  %_M_finish5 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl4, i32 0, i32 1
  %7 = load %"class.boost::detail::stored_edge_property"** %_M_finish5, align 4
  %8 = load %"class.boost::detail::stored_edge_property"** %__x.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEE9constructEPS5_RKS5_(%"class.__gnu_cxx::new_allocator.14"* %5, %"class.boost::detail::stored_edge_property"* %7, %"class.boost::detail::stored_edge_property"* %8)
  %9 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.12"* %9, i32 0, i32 0
  %_M_finish7 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl6, i32 0, i32 1
  %10 = load %"class.boost::detail::stored_edge_property"** %_M_finish7, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %10, i32 1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr, %"class.boost::detail::stored_edge_property"** %_M_finish7, align 4
  br label %if.end

if.else:                                          ; preds = %entry
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator.29"* sret %agg.tmp, %"class.std::vector.11"* %this1)
  %11 = load %"class.boost::detail::stored_edge_property"** %__x.addr, align 4
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_(%"class.std::vector.11"* %this1, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %agg.tmp, %"class.boost::detail::stored_edge_property"* %11)
  br label %if.end

if.end:                                           ; preds = %if.else, %if.then
  ret void
}

define linkonce_odr void @_ZSt9make_pairIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEbESt4pairIT_T0_ESD_SE_(%"struct.std::pair.46"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %__x, i1 zeroext %__y) inlinehint {
entry:
  %__y.addr = alloca i8, align 1
  %frombool = zext i1 %__y to i8
  store i8 %frombool, i8* %__y.addr, align 1
  call void @_ZNSt4pairIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEbEC1ERKSB_RKb(%"struct.std::pair.46"* %agg.result, %"class.__gnu_cxx::__normal_iterator.29"* %__x, i8* %__y.addr)
  ret void
}

define linkonce_odr void @_ZN5boost5priorIN9__gnu_cxx17__normal_iteratorIPNS_6detail20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS6_SaIS6_EEEEEET_SC_(%"class.__gnu_cxx::__normal_iterator.29"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %x) inlinehint {
entry:
  %call = call %"class.__gnu_cxx::__normal_iterator.29"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEmmEv(%"class.__gnu_cxx::__normal_iterator.29"* %x)
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %agg.result to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %call to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr %"class.__gnu_cxx::__normal_iterator.29"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEmmEv(%"class.__gnu_cxx::__normal_iterator.29"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %this, %"class.__gnu_cxx::__normal_iterator.29"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.29"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.29"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_property"** %_M_current, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %0, i32 -1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr, %"class.boost::detail::stored_edge_property"** %_M_current, align 4
  ret %"class.__gnu_cxx::__normal_iterator.29"* %this1
}

define linkonce_odr void @_ZNSt4pairIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEbEC1ERKSB_RKb(%"struct.std::pair.46"* %this, %"class.__gnu_cxx::__normal_iterator.29"* %__a, i8* %__b) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.46"*, align 4
  %__a.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  %__b.addr = alloca i8*, align 4
  store %"struct.std::pair.46"* %this, %"struct.std::pair.46"** %this.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %__a, %"class.__gnu_cxx::__normal_iterator.29"** %__a.addr, align 4
  store i8* %__b, i8** %__b.addr, align 4
  %this1 = load %"struct.std::pair.46"** %this.addr
  %0 = load i8** %__b.addr
  %1 = load %"class.__gnu_cxx::__normal_iterator.29"** %__a.addr
  call void @_ZNSt4pairIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEbEC2ERKSB_RKb(%"struct.std::pair.46"* %this1, %"class.__gnu_cxx::__normal_iterator.29"* %1, i8* %0)
  ret void
}

define linkonce_odr void @_ZNSt4pairIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEbEC2ERKSB_RKb(%"struct.std::pair.46"* %this, %"class.__gnu_cxx::__normal_iterator.29"* %__a, i8* %__b) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::pair.46"*, align 4
  %__a.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  %__b.addr = alloca i8*, align 4
  store %"struct.std::pair.46"* %this, %"struct.std::pair.46"** %this.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %__a, %"class.__gnu_cxx::__normal_iterator.29"** %__a.addr, align 4
  store i8* %__b, i8** %__b.addr, align 4
  %this1 = load %"struct.std::pair.46"** %this.addr
  %first = getelementptr inbounds %"struct.std::pair.46"* %this1, i32 0, i32 0
  %0 = load %"class.__gnu_cxx::__normal_iterator.29"** %__a.addr, align 4
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %first to i8*
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %0 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  %second = getelementptr inbounds %"struct.std::pair.46"* %this1, i32 0, i32 1
  %3 = load i8** %__b.addr, align 4
  %4 = load i8* %3, align 1
  %tobool = trunc i8 %4 to i1
  %frombool = zext i1 %tobool to i8
  store i8 %frombool, i8* %second, align 1
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEE9constructEPS5_RKS5_(%"class.__gnu_cxx::new_allocator.14"* %this, %"class.boost::detail::stored_edge_property"* %__p, %"class.boost::detail::stored_edge_property"* %__val) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  %__p.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__val.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__p, %"class.boost::detail::stored_edge_property"** %__p.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__val, %"class.boost::detail::stored_edge_property"** %__val.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  %0 = load %"class.boost::detail::stored_edge_property"** %__p.addr, align 4
  %1 = bitcast %"class.boost::detail::stored_edge_property"* %0 to i8*
  %new.isnull = icmp eq i8* %1, null
  br i1 %new.isnull, label %new.cont, label %new.notnull

new.notnull:                                      ; preds = %entry
  %2 = bitcast i8* %1 to %"class.boost::detail::stored_edge_property"*
  %3 = load %"class.boost::detail::stored_edge_property"** %__val.addr, align 4
  call void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEC1ERKS3_(%"class.boost::detail::stored_edge_property"* %2, %"class.boost::detail::stored_edge_property"* %3)
  br label %new.cont

new.cont:                                         ; preds = %new.notnull, %entry
  %4 = phi %"class.boost::detail::stored_edge_property"* [ %2, %new.notnull ], [ null, %entry ]
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_(%"class.std::vector.11"* %this, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %__position, %"class.boost::detail::stored_edge_property"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__x.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__x_copy = alloca %"class.boost::detail::stored_edge_property", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %__len = alloca i32, align 4
  %__elems_before = alloca i32, align 4
  %ref.tmp = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  %__new_start = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__new_finish = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__x, %"class.boost::detail::stored_edge_property"** %__x.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"class.boost::detail::stored_edge_property"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %2, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %3 = load %"class.boost::detail::stored_edge_property"** %_M_end_of_storage, align 4
  %cmp = icmp ne %"class.boost::detail::stored_edge_property"* %1, %3
  br i1 %cmp, label %if.then, label %if.else

if.then:                                          ; preds = %entry
  %4 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.12"* %4, i32 0, i32 0
  %5 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl3 to %"class.__gnu_cxx::new_allocator.14"*
  %6 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl4 = getelementptr inbounds %"struct.std::_Vector_base.12"* %6, i32 0, i32 0
  %_M_finish5 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl4, i32 0, i32 1
  %7 = load %"class.boost::detail::stored_edge_property"** %_M_finish5, align 4
  %8 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.12"* %8, i32 0, i32 0
  %_M_finish7 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl6, i32 0, i32 1
  %9 = load %"class.boost::detail::stored_edge_property"** %_M_finish7, align 4
  %add.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %9, i32 -1
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEE9constructEPS5_RKS5_(%"class.__gnu_cxx::new_allocator.14"* %5, %"class.boost::detail::stored_edge_property"* %7, %"class.boost::detail::stored_edge_property"* %add.ptr)
  %10 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl8 = getelementptr inbounds %"struct.std::_Vector_base.12"* %10, i32 0, i32 0
  %_M_finish9 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl8, i32 0, i32 1
  %11 = load %"class.boost::detail::stored_edge_property"** %_M_finish9, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %11, i32 1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr, %"class.boost::detail::stored_edge_property"** %_M_finish9, align 4
  %12 = load %"class.boost::detail::stored_edge_property"** %__x.addr, align 4
  call void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEC1ERKS3_(%"class.boost::detail::stored_edge_property"* %__x_copy, %"class.boost::detail::stored_edge_property"* %12)
  %call = invoke %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.29"* %__position)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %if.then
  %13 = load %"class.boost::detail::stored_edge_property"** %call
  %14 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl10 = getelementptr inbounds %"struct.std::_Vector_base.12"* %14, i32 0, i32 0
  %_M_finish11 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl10, i32 0, i32 1
  %15 = load %"class.boost::detail::stored_edge_property"** %_M_finish11, align 4
  %add.ptr12 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %15, i32 -2
  %16 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl13 = getelementptr inbounds %"struct.std::_Vector_base.12"* %16, i32 0, i32 0
  %_M_finish14 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl13, i32 0, i32 1
  %17 = load %"class.boost::detail::stored_edge_property"** %_M_finish14, align 4
  %add.ptr15 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %17, i32 -1
  %call17 = invoke %"class.boost::detail::stored_edge_property"* @_ZSt13copy_backwardIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET0_T_S7_S6_(%"class.boost::detail::stored_edge_property"* %13, %"class.boost::detail::stored_edge_property"* %add.ptr12, %"class.boost::detail::stored_edge_property"* %add.ptr15)
          to label %invoke.cont16 unwind label %lpad

invoke.cont16:                                    ; preds = %invoke.cont
  %call19 = invoke %"class.boost::detail::stored_edge_property"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.29"* %__position)
          to label %invoke.cont18 unwind label %lpad

invoke.cont18:                                    ; preds = %invoke.cont16
  %call21 = invoke %"class.boost::detail::stored_edge_property"* @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEaSERKS3_(%"class.boost::detail::stored_edge_property"* %call19, %"class.boost::detail::stored_edge_property"* %__x_copy)
          to label %invoke.cont20 unwind label %lpad

invoke.cont20:                                    ; preds = %invoke.cont18
  call void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEED1Ev(%"class.boost::detail::stored_edge_property"* %__x_copy)
  br label %if.end75

lpad:                                             ; preds = %invoke.cont18, %invoke.cont16, %invoke.cont, %if.then
  %18 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %19 = extractvalue { i8*, i32 } %18, 0
  store i8* %19, i8** %exn.slot
  %20 = extractvalue { i8*, i32 } %18, 1
  store i32 %20, i32* %ehselector.slot
  invoke void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEED1Ev(%"class.boost::detail::stored_edge_property"* %__x_copy)
          to label %invoke.cont22 unwind label %terminate.lpad

invoke.cont22:                                    ; preds = %lpad
  br label %eh.resume

if.else:                                          ; preds = %entry
  %call23 = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_M_check_lenEjPKc(%"class.std::vector.11"* %this1, i32 1, i8* getelementptr inbounds ([22 x i8]* @.str9, i32 0, i32 0))
  store i32 %call23, i32* %__len, align 4
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.29"* sret %ref.tmp, %"class.std::vector.11"* %this1)
  %call24 = call i32 @_ZN9__gnu_cxxmiIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSD_SG_(%"class.__gnu_cxx::__normal_iterator.29"* %__position, %"class.__gnu_cxx::__normal_iterator.29"* %ref.tmp)
  store i32 %call24, i32* %__elems_before, align 4
  %21 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %22 = load i32* %__len, align 4
  %call25 = call %"class.boost::detail::stored_edge_property"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE11_M_allocateEj(%"struct.std::_Vector_base.12"* %21, i32 %22)
  store %"class.boost::detail::stored_edge_property"* %call25, %"class.boost::detail::stored_edge_property"** %__new_start, align 4
  %23 = load %"class.boost::detail::stored_edge_property"** %__new_start, align 4
  store %"class.boost::detail::stored_edge_property"* %23, %"class.boost::detail::stored_edge_property"** %__new_finish, align 4
  %24 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl26 = getelementptr inbounds %"struct.std::_Vector_base.12"* %24, i32 0, i32 0
  %25 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl26 to %"class.__gnu_cxx::new_allocator.14"*
  %26 = load %"class.boost::detail::stored_edge_property"** %__new_start, align 4
  %27 = load i32* %__elems_before, align 4
  %add.ptr27 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %26, i32 %27
  %28 = load %"class.boost::detail::stored_edge_property"** %__x.addr, align 4
  invoke void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEE9constructEPS5_RKS5_(%"class.__gnu_cxx::new_allocator.14"* %25, %"class.boost::detail::stored_edge_property"* %add.ptr27, %"class.boost::detail::stored_edge_property"* %28)
          to label %invoke.cont29 unwind label %lpad28

invoke.cont29:                                    ; preds = %if.else
  store %"class.boost::detail::stored_edge_property"* null, %"class.boost::detail::stored_edge_property"** %__new_finish, align 4
  %29 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl30 = getelementptr inbounds %"struct.std::_Vector_base.12"* %29, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl30, i32 0, i32 0
  %30 = load %"class.boost::detail::stored_edge_property"** %_M_start, align 4
  %call32 = invoke %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.29"* %__position)
          to label %invoke.cont31 unwind label %lpad28

invoke.cont31:                                    ; preds = %invoke.cont29
  %31 = load %"class.boost::detail::stored_edge_property"** %call32
  %32 = load %"class.boost::detail::stored_edge_property"** %__new_start, align 4
  %33 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call34 = invoke %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %33)
          to label %invoke.cont33 unwind label %lpad28

invoke.cont33:                                    ; preds = %invoke.cont31
  %call36 = invoke %"class.boost::detail::stored_edge_property"* @_ZSt22__uninitialized_move_aIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_SaIS4_EET0_T_S8_S7_RT1_(%"class.boost::detail::stored_edge_property"* %30, %"class.boost::detail::stored_edge_property"* %31, %"class.boost::detail::stored_edge_property"* %32, %"class.std::allocator.13"* %call34)
          to label %invoke.cont35 unwind label %lpad28

invoke.cont35:                                    ; preds = %invoke.cont33
  store %"class.boost::detail::stored_edge_property"* %call36, %"class.boost::detail::stored_edge_property"** %__new_finish, align 4
  %34 = load %"class.boost::detail::stored_edge_property"** %__new_finish, align 4
  %incdec.ptr37 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %34, i32 1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr37, %"class.boost::detail::stored_edge_property"** %__new_finish, align 4
  %call39 = invoke %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.29"* %__position)
          to label %invoke.cont38 unwind label %lpad28

invoke.cont38:                                    ; preds = %invoke.cont35
  %35 = load %"class.boost::detail::stored_edge_property"** %call39
  %36 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl40 = getelementptr inbounds %"struct.std::_Vector_base.12"* %36, i32 0, i32 0
  %_M_finish41 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl40, i32 0, i32 1
  %37 = load %"class.boost::detail::stored_edge_property"** %_M_finish41, align 4
  %38 = load %"class.boost::detail::stored_edge_property"** %__new_finish, align 4
  %39 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call43 = invoke %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %39)
          to label %invoke.cont42 unwind label %lpad28

invoke.cont42:                                    ; preds = %invoke.cont38
  %call45 = invoke %"class.boost::detail::stored_edge_property"* @_ZSt22__uninitialized_move_aIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_SaIS4_EET0_T_S8_S7_RT1_(%"class.boost::detail::stored_edge_property"* %35, %"class.boost::detail::stored_edge_property"* %37, %"class.boost::detail::stored_edge_property"* %38, %"class.std::allocator.13"* %call43)
          to label %invoke.cont44 unwind label %lpad28

invoke.cont44:                                    ; preds = %invoke.cont42
  store %"class.boost::detail::stored_edge_property"* %call45, %"class.boost::detail::stored_edge_property"** %__new_finish, align 4
  br label %try.cont

lpad28:                                           ; preds = %invoke.cont42, %invoke.cont38, %invoke.cont35, %invoke.cont33, %invoke.cont31, %invoke.cont29, %if.else
  %40 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %41 = extractvalue { i8*, i32 } %40, 0
  store i8* %41, i8** %exn.slot
  %42 = extractvalue { i8*, i32 } %40, 1
  store i32 %42, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad28
  %exn = load i8** %exn.slot
  %43 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %44 = load %"class.boost::detail::stored_edge_property"** %__new_finish, align 4
  %tobool = icmp ne %"class.boost::detail::stored_edge_property"* %44, null
  br i1 %tobool, label %if.else51, label %if.then46

if.then46:                                        ; preds = %catch
  %45 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl47 = getelementptr inbounds %"struct.std::_Vector_base.12"* %45, i32 0, i32 0
  %46 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl47 to %"class.__gnu_cxx::new_allocator.14"*
  %47 = load %"class.boost::detail::stored_edge_property"** %__new_start, align 4
  %48 = load i32* %__elems_before, align 4
  %add.ptr48 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %47, i32 %48
  invoke void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEE7destroyEPS5_(%"class.__gnu_cxx::new_allocator.14"* %46, %"class.boost::detail::stored_edge_property"* %add.ptr48)
          to label %invoke.cont50 unwind label %lpad49

invoke.cont50:                                    ; preds = %if.then46
  br label %if.end

lpad49:                                           ; preds = %invoke.cont55, %if.end, %invoke.cont52, %if.else51, %if.then46
  %49 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %50 = extractvalue { i8*, i32 } %49, 0
  store i8* %50, i8** %exn.slot
  %51 = extractvalue { i8*, i32 } %49, 1
  store i32 %51, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont56 unwind label %terminate.lpad

if.else51:                                        ; preds = %catch
  %52 = load %"class.boost::detail::stored_edge_property"** %__new_start, align 4
  %53 = load %"class.boost::detail::stored_edge_property"** %__new_finish, align 4
  %54 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call53 = invoke %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %54)
          to label %invoke.cont52 unwind label %lpad49

invoke.cont52:                                    ; preds = %if.else51
  invoke void @_ZSt8_DestroyIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES4_EvT_S6_RSaIT0_E(%"class.boost::detail::stored_edge_property"* %52, %"class.boost::detail::stored_edge_property"* %53, %"class.std::allocator.13"* %call53)
          to label %invoke.cont54 unwind label %lpad49

invoke.cont54:                                    ; preds = %invoke.cont52
  br label %if.end

if.end:                                           ; preds = %invoke.cont54, %invoke.cont50
  %55 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %56 = load %"class.boost::detail::stored_edge_property"** %__new_start, align 4
  %57 = load i32* %__len, align 4
  invoke void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE13_M_deallocateEPS4_j(%"struct.std::_Vector_base.12"* %55, %"class.boost::detail::stored_edge_property"* %56, i32 %57)
          to label %invoke.cont55 unwind label %lpad49

invoke.cont55:                                    ; preds = %if.end
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad49

invoke.cont56:                                    ; preds = %lpad49
  br label %eh.resume

try.cont:                                         ; preds = %invoke.cont44
  %58 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl57 = getelementptr inbounds %"struct.std::_Vector_base.12"* %58, i32 0, i32 0
  %_M_start58 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl57, i32 0, i32 0
  %59 = load %"class.boost::detail::stored_edge_property"** %_M_start58, align 4
  %60 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl59 = getelementptr inbounds %"struct.std::_Vector_base.12"* %60, i32 0, i32 0
  %_M_finish60 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl59, i32 0, i32 1
  %61 = load %"class.boost::detail::stored_edge_property"** %_M_finish60, align 4
  %62 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call61 = call %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %62)
  call void @_ZSt8_DestroyIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES4_EvT_S6_RSaIT0_E(%"class.boost::detail::stored_edge_property"* %59, %"class.boost::detail::stored_edge_property"* %61, %"class.std::allocator.13"* %call61)
  %63 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %64 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl62 = getelementptr inbounds %"struct.std::_Vector_base.12"* %64, i32 0, i32 0
  %_M_start63 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl62, i32 0, i32 0
  %65 = load %"class.boost::detail::stored_edge_property"** %_M_start63, align 4
  %66 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl64 = getelementptr inbounds %"struct.std::_Vector_base.12"* %66, i32 0, i32 0
  %_M_end_of_storage65 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl64, i32 0, i32 2
  %67 = load %"class.boost::detail::stored_edge_property"** %_M_end_of_storage65, align 4
  %68 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl66 = getelementptr inbounds %"struct.std::_Vector_base.12"* %68, i32 0, i32 0
  %_M_start67 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl66, i32 0, i32 0
  %69 = load %"class.boost::detail::stored_edge_property"** %_M_start67, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %67 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %69 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  call void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE13_M_deallocateEPS4_j(%"struct.std::_Vector_base.12"* %63, %"class.boost::detail::stored_edge_property"* %65, i32 %sub.ptr.div)
  %70 = load %"class.boost::detail::stored_edge_property"** %__new_start, align 4
  %71 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl68 = getelementptr inbounds %"struct.std::_Vector_base.12"* %71, i32 0, i32 0
  %_M_start69 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl68, i32 0, i32 0
  store %"class.boost::detail::stored_edge_property"* %70, %"class.boost::detail::stored_edge_property"** %_M_start69, align 4
  %72 = load %"class.boost::detail::stored_edge_property"** %__new_finish, align 4
  %73 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl70 = getelementptr inbounds %"struct.std::_Vector_base.12"* %73, i32 0, i32 0
  %_M_finish71 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl70, i32 0, i32 1
  store %"class.boost::detail::stored_edge_property"* %72, %"class.boost::detail::stored_edge_property"** %_M_finish71, align 4
  %74 = load %"class.boost::detail::stored_edge_property"** %__new_start, align 4
  %75 = load i32* %__len, align 4
  %add.ptr72 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %74, i32 %75
  %76 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl73 = getelementptr inbounds %"struct.std::_Vector_base.12"* %76, i32 0, i32 0
  %_M_end_of_storage74 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl73, i32 0, i32 2
  store %"class.boost::detail::stored_edge_property"* %add.ptr72, %"class.boost::detail::stored_edge_property"** %_M_end_of_storage74, align 4
  br label %if.end75

if.end75:                                         ; preds = %try.cont, %invoke.cont20
  ret void

eh.resume:                                        ; preds = %invoke.cont56, %invoke.cont22
  %exn76 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn76, 0
  %lpad.val77 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val77

terminate.lpad:                                   ; preds = %lpad49, %lpad
  %77 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont55
  unreachable
}

define linkonce_odr void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEC1ERKS3_(%"class.boost::detail::stored_edge_property"* %this, %"class.boost::detail::stored_edge_property"* %x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %x.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %this, %"class.boost::detail::stored_edge_property"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %x, %"class.boost::detail::stored_edge_property"** %x.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge_property"** %this.addr
  %0 = load %"class.boost::detail::stored_edge_property"** %x.addr
  call void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEC2ERKS3_(%"class.boost::detail::stored_edge_property"* %this1, %"class.boost::detail::stored_edge_property"* %0)
  ret void
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt13copy_backwardIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET0_T_S7_S6_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZSt12__miter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEENSt11_Miter_baseIT_E13iterator_typeES7_(%"class.boost::detail::stored_edge_property"* %0)
  %1 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_property"* @_ZSt12__miter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEENSt11_Miter_baseIT_E13iterator_typeES7_(%"class.boost::detail::stored_edge_property"* %1)
  %2 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %call2 = call %"class.boost::detail::stored_edge_property"* @_ZSt23__copy_move_backward_a2ILb0EPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET1_T0_S7_S6_(%"class.boost::detail::stored_edge_property"* %call, %"class.boost::detail::stored_edge_property"* %call1, %"class.boost::detail::stored_edge_property"* %2)
  ret %"class.boost::detail::stored_edge_property"* %call2
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEaSERKS3_(%"class.boost::detail::stored_edge_property"* %this, %"class.boost::detail::stored_edge_property"* %x) align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %x.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %this, %"class.boost::detail::stored_edge_property"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %x, %"class.boost::detail::stored_edge_property"** %x.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge_property"** %this.addr
  %0 = bitcast %"class.boost::detail::stored_edge_property"* %this1 to %"class.boost::detail::stored_edge"*
  %1 = load %"class.boost::detail::stored_edge_property"** %x.addr, align 4
  %2 = bitcast %"class.boost::detail::stored_edge_property"* %1 to %"class.boost::detail::stored_edge"*
  %call = call %"class.boost::detail::stored_edge"* @_ZN5boost6detail11stored_edgeIjEaSERKS2_(%"class.boost::detail::stored_edge"* %0, %"class.boost::detail::stored_edge"* %2)
  %m_property = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %this1, i32 0, i32 1
  %3 = load %"class.boost::detail::stored_edge_property"** %x.addr, align 4
  %m_property2 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %3, i32 0, i32 1
  %call3 = call %"class.std::auto_ptr"* @_ZNSt8auto_ptrIN5boost11no_propertyEEaSERS2_(%"class.std::auto_ptr"* %m_property, %"class.std::auto_ptr"* %m_property2) nounwind
  ret %"class.boost::detail::stored_edge_property"* %this1
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_M_check_lenEjPKc(%"class.std::vector.11"* %this, i32 %__n, i8* %__s) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__n.addr = alloca i32, align 4
  %__s.addr = alloca i8*, align 4
  %__len = alloca i32, align 4
  %ref.tmp = alloca i32, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %__s, i8** %__s.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %call = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE8max_sizeEv(%"class.std::vector.11"* %this1)
  %call2 = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE4sizeEv(%"class.std::vector.11"* %this1)
  %sub = sub i32 %call, %call2
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ult i32 %sub, %0
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %1 = load i8** %__s.addr, align 4
  call void @_ZSt20__throw_length_errorPKc(i8* %1) noreturn
  unreachable

if.end:                                           ; preds = %entry
  %call3 = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE4sizeEv(%"class.std::vector.11"* %this1)
  %call4 = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE4sizeEv(%"class.std::vector.11"* %this1)
  store i32 %call4, i32* %ref.tmp, align 4
  %call5 = call i32* @_ZSt3maxIjERKT_S2_S2_(i32* %ref.tmp, i32* %__n.addr)
  %2 = load i32* %call5
  %add = add i32 %call3, %2
  store i32 %add, i32* %__len, align 4
  %3 = load i32* %__len, align 4
  %call6 = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE4sizeEv(%"class.std::vector.11"* %this1)
  %cmp7 = icmp ult i32 %3, %call6
  br i1 %cmp7, label %cond.true, label %lor.lhs.false

lor.lhs.false:                                    ; preds = %if.end
  %4 = load i32* %__len, align 4
  %call8 = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE8max_sizeEv(%"class.std::vector.11"* %this1)
  %cmp9 = icmp ugt i32 %4, %call8
  br i1 %cmp9, label %cond.true, label %cond.false

cond.true:                                        ; preds = %lor.lhs.false, %if.end
  %call10 = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE8max_sizeEv(%"class.std::vector.11"* %this1)
  br label %cond.end

cond.false:                                       ; preds = %lor.lhs.false
  %5 = load i32* %__len, align 4
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi i32 [ %call10, %cond.true ], [ %5, %cond.false ]
  ret i32 %cond
}

define linkonce_odr i32 @_ZN9__gnu_cxxmiIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSD_SG_(%"class.__gnu_cxx::__normal_iterator.29"* %__lhs, %"class.__gnu_cxx::__normal_iterator.29"* %__rhs) nounwind inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %__lhs, %"class.__gnu_cxx::__normal_iterator.29"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %__rhs, %"class.__gnu_cxx::__normal_iterator.29"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.29"** %__lhs.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.29"* %0)
  %1 = load %"class.boost::detail::stored_edge_property"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator.29"** %__rhs.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.29"* %2)
  %3 = load %"class.boost::detail::stored_edge_property"** %call1
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  ret i32 %sub.ptr.div
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE11_M_allocateEj(%"struct.std::_Vector_base.12"* %this, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ne i32 %0, 0
  br i1 %cmp, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.14"*
  %2 = load i32* %__n.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.14"* %1, i32 %2, i8* null)
  br label %cond.end

cond.false:                                       ; preds = %entry
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi %"class.boost::detail::stored_edge_property"* [ %call, %cond.true ], [ null, %cond.false ]
  ret %"class.boost::detail::stored_edge_property"* %cond
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt22__uninitialized_move_aIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_SaIS4_EET0_T_S8_S7_RT1_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result, %"class.std::allocator.13"* %__alloc) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__alloc.addr = alloca %"class.std::allocator.13"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  store %"class.std::allocator.13"* %__alloc, %"class.std::allocator.13"** %__alloc.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %3 = load %"class.std::allocator.13"** %__alloc.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZSt22__uninitialized_copy_aIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_S4_ET0_T_S7_S6_RSaIT1_E(%"class.boost::detail::stored_edge_property"* %0, %"class.boost::detail::stored_edge_property"* %1, %"class.boost::detail::stored_edge_property"* %2, %"class.std::allocator.13"* %3)
  ret %"class.boost::detail::stored_edge_property"* %call
}

define linkonce_odr %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl to %"class.std::allocator.13"*
  ret %"class.std::allocator.13"* %0
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEE7destroyEPS5_(%"class.__gnu_cxx::new_allocator.14"* %this, %"class.boost::detail::stored_edge_property"* %__p) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  %__p.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__p, %"class.boost::detail::stored_edge_property"** %__p.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  %0 = load %"class.boost::detail::stored_edge_property"** %__p.addr, align 4
  call void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEED1Ev(%"class.boost::detail::stored_edge_property"* %0)
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES4_EvT_S6_RSaIT0_E(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.std::allocator.13"*) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %.addr = alloca %"class.std::allocator.13"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.std::allocator.13"* %0, %"class.std::allocator.13"** %.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  call void @_ZSt8_DestroyIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEEvT_S6_(%"class.boost::detail::stored_edge_property"* %1, %"class.boost::detail::stored_edge_property"* %2)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE13_M_deallocateEPS4_j(%"struct.std::_Vector_base.12"* %this, %"class.boost::detail::stored_edge_property"* %__p, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  %__p.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__p, %"class.boost::detail::stored_edge_property"** %__p.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %0 = load %"class.boost::detail::stored_edge_property"** %__p.addr, align 4
  %tobool = icmp ne %"class.boost::detail::stored_edge_property"* %0, null
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.14"*
  %2 = load %"class.boost::detail::stored_edge_property"** %__p.addr, align 4
  %3 = load i32* %__n.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEE10deallocateEPS5_j(%"class.__gnu_cxx::new_allocator.14"* %1, %"class.boost::detail::stored_edge_property"* %2, i32 %3)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEE10deallocateEPS5_j(%"class.__gnu_cxx::new_allocator.14"* %this, %"class.boost::detail::stored_edge_property"* %__p, i32) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  %__p.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %.addr = alloca i32, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__p, %"class.boost::detail::stored_edge_property"** %__p.addr, align 4
  store i32 %0, i32* %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  %1 = load %"class.boost::detail::stored_edge_property"** %__p.addr, align 4
  %2 = bitcast %"class.boost::detail::stored_edge_property"* %1 to i8*
  call void @_ZdlPv(i8* %2) nounwind
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEEvT_S6_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  call void @_ZNSt12_Destroy_auxILb0EE9__destroyIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEEEEvT_S8_(%"class.boost::detail::stored_edge_property"* %0, %"class.boost::detail::stored_edge_property"* %1)
  ret void
}

define linkonce_odr void @_ZNSt12_Destroy_auxILb0EE9__destroyIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEEEEvT_S8_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last) align 2 {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %0 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %cmp = icmp ne %"class.boost::detail::stored_edge_property"* %0, %1
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %2 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZSt11__addressofIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEEPT_RS5_(%"class.boost::detail::stored_edge_property"* %2)
  call void @_ZSt8_DestroyIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEEvPT_(%"class.boost::detail::stored_edge_property"* %call)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %3 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %3, i32 1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEEvPT_(%"class.boost::detail::stored_edge_property"* %__pointer) inlinehint {
entry:
  %__pointer.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__pointer, %"class.boost::detail::stored_edge_property"** %__pointer.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__pointer.addr, align 4
  call void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEED1Ev(%"class.boost::detail::stored_edge_property"* %0)
  ret void
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt11__addressofIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEEPT_RS5_(%"class.boost::detail::stored_edge_property"* %__r) nounwind inlinehint {
entry:
  %__r.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__r, %"class.boost::detail::stored_edge_property"** %__r.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__r.addr, align 4
  %1 = bitcast %"class.boost::detail::stored_edge_property"* %0 to i8*
  %2 = bitcast i8* %1 to %"class.boost::detail::stored_edge_property"*
  ret %"class.boost::detail::stored_edge_property"* %2
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt22__uninitialized_copy_aIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_S4_ET0_T_S7_S6_RSaIT1_E(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result, %"class.std::allocator.13"*) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %.addr = alloca %"class.std::allocator.13"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  store %"class.std::allocator.13"* %0, %"class.std::allocator.13"** %.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %3 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZSt18uninitialized_copyIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET0_T_S7_S6_(%"class.boost::detail::stored_edge_property"* %1, %"class.boost::detail::stored_edge_property"* %2, %"class.boost::detail::stored_edge_property"* %3)
  ret %"class.boost::detail::stored_edge_property"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt18uninitialized_copyIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET0_T_S7_S6_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEES7_EET0_T_S9_S8_(%"class.boost::detail::stored_edge_property"* %0, %"class.boost::detail::stored_edge_property"* %1, %"class.boost::detail::stored_edge_property"* %2)
  ret %"class.boost::detail::stored_edge_property"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEES7_EET0_T_S9_S8_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result) align 2 {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__cur = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %0, %"class.boost::detail::stored_edge_property"** %__cur, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %1 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %cmp = icmp ne %"class.boost::detail::stored_edge_property"* %1, %2
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"class.boost::detail::stored_edge_property"** %__cur, align 4
  %call = invoke %"class.boost::detail::stored_edge_property"* @_ZSt11__addressofIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEEPT_RS5_(%"class.boost::detail::stored_edge_property"* %3)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %for.body
  %4 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  invoke void @_ZSt10_ConstructIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES4_EvPT_RKT0_(%"class.boost::detail::stored_edge_property"* %call, %"class.boost::detail::stored_edge_property"* %4)
          to label %invoke.cont1 unwind label %lpad

invoke.cont1:                                     ; preds = %invoke.cont
  br label %for.inc

for.inc:                                          ; preds = %invoke.cont1
  %5 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %5, i32 1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %6 = load %"class.boost::detail::stored_edge_property"** %__cur, align 4
  %incdec.ptr2 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %6, i32 1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr2, %"class.boost::detail::stored_edge_property"** %__cur, align 4
  br label %for.cond

lpad:                                             ; preds = %invoke.cont, %for.body
  %7 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %8 = extractvalue { i8*, i32 } %7, 0
  store i8* %8, i8** %exn.slot
  %9 = extractvalue { i8*, i32 } %7, 1
  store i32 %9, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %10 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %11 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %12 = load %"class.boost::detail::stored_edge_property"** %__cur, align 4
  invoke void @_ZSt8_DestroyIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEEvT_S6_(%"class.boost::detail::stored_edge_property"* %11, %"class.boost::detail::stored_edge_property"* %12)
          to label %invoke.cont4 unwind label %lpad3

invoke.cont4:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad3

for.end:                                          ; preds = %for.cond
  %13 = load %"class.boost::detail::stored_edge_property"** %__cur, align 4
  ret %"class.boost::detail::stored_edge_property"* %13

lpad3:                                            ; preds = %invoke.cont4, %catch
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont5 unwind label %terminate.lpad

invoke.cont5:                                     ; preds = %lpad3
  br label %eh.resume

try.cont:                                         ; No predecessors!
  call void @llvm.trap()
  unreachable

eh.resume:                                        ; preds = %invoke.cont5
  %exn6 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn6, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7

terminate.lpad:                                   ; preds = %lpad3
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont4
  unreachable
}

define linkonce_odr void @_ZSt10_ConstructIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES4_EvPT_RKT0_(%"class.boost::detail::stored_edge_property"* %__p, %"class.boost::detail::stored_edge_property"* %__value) inlinehint {
entry:
  %__p.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__value.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__p, %"class.boost::detail::stored_edge_property"** %__p.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__value, %"class.boost::detail::stored_edge_property"** %__value.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__p.addr, align 4
  %1 = bitcast %"class.boost::detail::stored_edge_property"* %0 to i8*
  %new.isnull = icmp eq i8* %1, null
  br i1 %new.isnull, label %new.cont, label %new.notnull

new.notnull:                                      ; preds = %entry
  %2 = bitcast i8* %1 to %"class.boost::detail::stored_edge_property"*
  %3 = load %"class.boost::detail::stored_edge_property"** %__value.addr, align 4
  call void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEC1ERKS3_(%"class.boost::detail::stored_edge_property"* %2, %"class.boost::detail::stored_edge_property"* %3)
  br label %new.cont

new.cont:                                         ; preds = %new.notnull, %entry
  %4 = phi %"class.boost::detail::stored_edge_property"* [ %2, %new.notnull ], [ null, %entry ]
  ret void
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.14"* %this, i32 %__n, i8*) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  %__n.addr = alloca i32, align 4
  %.addr = alloca i8*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %0, i8** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  %1 = load i32* %__n.addr, align 4
  %call = call i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.14"* %this1) nounwind
  %cmp = icmp ugt i32 %1, %call
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  call void @_ZSt17__throw_bad_allocv() noreturn
  unreachable

if.end:                                           ; preds = %entry
  %2 = load i32* %__n.addr, align 4
  %mul = mul i32 %2, 8
  %call2 = call noalias i8* @_Znwj(i32 %mul)
  %3 = bitcast i8* %call2 to %"class.boost::detail::stored_edge_property"*
  ret %"class.boost::detail::stored_edge_property"* %3
}

define linkonce_odr i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.14"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  ret i32 536870911
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE8max_sizeEv(%"class.std::vector.11"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call = call %"class.std::allocator.13"* @_ZNKSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %0)
  %1 = bitcast %"class.std::allocator.13"* %call to %"class.__gnu_cxx::new_allocator.14"*
  %call2 = call i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.14"* %1) nounwind
  ret i32 %call2
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE4sizeEv(%"class.std::vector.11"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"class.boost::detail::stored_edge_property"** %_M_finish, align 4
  %2 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %2, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  %3 = load %"class.boost::detail::stored_edge_property"** %_M_start, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  ret i32 %sub.ptr.div
}

define linkonce_odr %"class.std::allocator.13"* @_ZNKSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl to %"class.std::allocator.13"*
  ret %"class.std::allocator.13"* %0
}

define linkonce_odr %"class.boost::detail::stored_edge"* @_ZN5boost6detail11stored_edgeIjEaSERKS2_(%"class.boost::detail::stored_edge"* %this, %"class.boost::detail::stored_edge"* %x) nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge"*, align 4
  %x.addr = alloca %"class.boost::detail::stored_edge"*, align 4
  store %"class.boost::detail::stored_edge"* %this, %"class.boost::detail::stored_edge"** %this.addr, align 4
  store %"class.boost::detail::stored_edge"* %x, %"class.boost::detail::stored_edge"** %x.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge"** %this.addr
  %0 = load %"class.boost::detail::stored_edge"** %x.addr, align 4
  %m_target = getelementptr inbounds %"class.boost::detail::stored_edge"* %0, i32 0, i32 0
  %1 = load i32* %m_target, align 4
  %m_target2 = getelementptr inbounds %"class.boost::detail::stored_edge"* %this1, i32 0, i32 0
  store i32 %1, i32* %m_target2, align 4
  ret %"class.boost::detail::stored_edge"* %this1
}

define linkonce_odr %"class.std::auto_ptr"* @_ZNSt8auto_ptrIN5boost11no_propertyEEaSERS2_(%"class.std::auto_ptr"* %this, %"class.std::auto_ptr"* %__a) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::auto_ptr"*, align 4
  %__a.addr = alloca %"class.std::auto_ptr"*, align 4
  store %"class.std::auto_ptr"* %this, %"class.std::auto_ptr"** %this.addr, align 4
  store %"class.std::auto_ptr"* %__a, %"class.std::auto_ptr"** %__a.addr, align 4
  %this1 = load %"class.std::auto_ptr"** %this.addr
  %0 = load %"class.std::auto_ptr"** %__a.addr, align 4
  %call = call %"struct.boost::no_property"* @_ZNSt8auto_ptrIN5boost11no_propertyEE7releaseEv(%"class.std::auto_ptr"* %0) nounwind
  call void @_ZNSt8auto_ptrIN5boost11no_propertyEE5resetEPS1_(%"class.std::auto_ptr"* %this1, %"struct.boost::no_property"* %call) nounwind
  ret %"class.std::auto_ptr"* %this1
}

define linkonce_odr void @_ZNSt8auto_ptrIN5boost11no_propertyEE5resetEPS1_(%"class.std::auto_ptr"* %this, %"struct.boost::no_property"* %__p) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::auto_ptr"*, align 4
  %__p.addr = alloca %"struct.boost::no_property"*, align 4
  store %"class.std::auto_ptr"* %this, %"class.std::auto_ptr"** %this.addr, align 4
  store %"struct.boost::no_property"* %__p, %"struct.boost::no_property"** %__p.addr, align 4
  %this1 = load %"class.std::auto_ptr"** %this.addr
  %0 = load %"struct.boost::no_property"** %__p.addr, align 4
  %_M_ptr = getelementptr inbounds %"class.std::auto_ptr"* %this1, i32 0, i32 0
  %1 = load %"struct.boost::no_property"** %_M_ptr, align 4
  %cmp = icmp ne %"struct.boost::no_property"* %0, %1
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %_M_ptr2 = getelementptr inbounds %"class.std::auto_ptr"* %this1, i32 0, i32 0
  %2 = load %"struct.boost::no_property"** %_M_ptr2, align 4
  %isnull = icmp eq %"struct.boost::no_property"* %2, null
  br i1 %isnull, label %delete.end, label %delete.notnull

delete.notnull:                                   ; preds = %if.then
  %3 = bitcast %"struct.boost::no_property"* %2 to i8*
  call void @_ZdlPv(i8* %3) nounwind
  br label %delete.end

delete.end:                                       ; preds = %delete.notnull, %if.then
  %4 = load %"struct.boost::no_property"** %__p.addr, align 4
  %_M_ptr3 = getelementptr inbounds %"class.std::auto_ptr"* %this1, i32 0, i32 0
  store %"struct.boost::no_property"* %4, %"struct.boost::no_property"** %_M_ptr3, align 4
  br label %if.end

if.end:                                           ; preds = %delete.end, %entry
  ret void
}

define linkonce_odr %"struct.boost::no_property"* @_ZNSt8auto_ptrIN5boost11no_propertyEE7releaseEv(%"class.std::auto_ptr"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::auto_ptr"*, align 4
  %__tmp = alloca %"struct.boost::no_property"*, align 4
  store %"class.std::auto_ptr"* %this, %"class.std::auto_ptr"** %this.addr, align 4
  %this1 = load %"class.std::auto_ptr"** %this.addr
  %_M_ptr = getelementptr inbounds %"class.std::auto_ptr"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::no_property"** %_M_ptr, align 4
  store %"struct.boost::no_property"* %0, %"struct.boost::no_property"** %__tmp, align 4
  %_M_ptr2 = getelementptr inbounds %"class.std::auto_ptr"* %this1, i32 0, i32 0
  store %"struct.boost::no_property"* null, %"struct.boost::no_property"** %_M_ptr2, align 4
  %1 = load %"struct.boost::no_property"** %__tmp, align 4
  ret %"struct.boost::no_property"* %1
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt23__copy_move_backward_a2ILb0EPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET1_T0_S7_S6_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZSt12__niter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEENSt11_Niter_baseIT_E13iterator_typeES7_(%"class.boost::detail::stored_edge_property"* %0)
  %1 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_property"* @_ZSt12__niter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEENSt11_Niter_baseIT_E13iterator_typeES7_(%"class.boost::detail::stored_edge_property"* %1)
  %2 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %call2 = call %"class.boost::detail::stored_edge_property"* @_ZSt12__niter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEENSt11_Niter_baseIT_E13iterator_typeES7_(%"class.boost::detail::stored_edge_property"* %2)
  %call3 = call %"class.boost::detail::stored_edge_property"* @_ZSt22__copy_move_backward_aILb0EPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET1_T0_S7_S6_(%"class.boost::detail::stored_edge_property"* %call, %"class.boost::detail::stored_edge_property"* %call1, %"class.boost::detail::stored_edge_property"* %call2)
  ret %"class.boost::detail::stored_edge_property"* %call3
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt12__miter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEENSt11_Miter_baseIT_E13iterator_typeES7_(%"class.boost::detail::stored_edge_property"* %__it) inlinehint {
entry:
  %__it.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__it, %"class.boost::detail::stored_edge_property"** %__it.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__it.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZNSt10_Iter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEELb0EE7_S_baseES5_(%"class.boost::detail::stored_edge_property"* %0)
  ret %"class.boost::detail::stored_edge_property"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZNSt10_Iter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEELb0EE7_S_baseES5_(%"class.boost::detail::stored_edge_property"* %__it) nounwind align 2 {
entry:
  %__it.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__it, %"class.boost::detail::stored_edge_property"** %__it.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__it.addr, align 4
  ret %"class.boost::detail::stored_edge_property"* %0
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt22__copy_move_backward_aILb0EPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET1_T0_S7_S6_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__simple = alloca i8, align 1
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  store i8 0, i8* %__simple, align 1
  %0 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bIPN5boost6detail20stored_edge_propertyIjNS3_11no_propertyEEES8_EET0_T_SA_S9_(%"class.boost::detail::stored_edge_property"* %0, %"class.boost::detail::stored_edge_property"* %1, %"class.boost::detail::stored_edge_property"* %2)
  ret %"class.boost::detail::stored_edge_property"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt12__niter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEENSt11_Niter_baseIT_E13iterator_typeES7_(%"class.boost::detail::stored_edge_property"* %__it) nounwind inlinehint {
entry:
  %__it.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__it, %"class.boost::detail::stored_edge_property"** %__it.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__it.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZNSt10_Iter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEELb0EE7_S_baseES5_(%"class.boost::detail::stored_edge_property"* %0)
  ret %"class.boost::detail::stored_edge_property"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bIPN5boost6detail20stored_edge_propertyIjNS3_11no_propertyEEES8_EET0_T_SA_S9_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result) align 2 {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__n = alloca i32, align 4
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %0 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %1 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  store i32 %sub.ptr.div, i32* %__n, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %2 = load i32* %__n, align 4
  %cmp = icmp sgt i32 %2, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %3, i32 -1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %4 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %incdec.ptr1 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %4, i32 -1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr1, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEaSERKS3_(%"class.boost::detail::stored_edge_property"* %incdec.ptr, %"class.boost::detail::stored_edge_property"* %incdec.ptr1)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %5 = load i32* %__n, align 4
  %dec = add nsw i32 %5, -1
  store i32 %dec, i32* %__n, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %6 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  ret %"class.boost::detail::stored_edge_property"* %6
}

define linkonce_odr void @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEC2ERKS3_(%"class.boost::detail::stored_edge_property"* %this, %"class.boost::detail::stored_edge_property"* %x) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %x.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %this, %"class.boost::detail::stored_edge_property"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %x, %"class.boost::detail::stored_edge_property"** %x.addr, align 4
  %this1 = load %"class.boost::detail::stored_edge_property"** %this.addr
  %0 = bitcast %"class.boost::detail::stored_edge_property"* %this1 to %"class.boost::detail::stored_edge"*
  %1 = load %"class.boost::detail::stored_edge_property"** %x.addr, align 4
  %2 = bitcast %"class.boost::detail::stored_edge_property"* %1 to %"class.boost::detail::stored_edge"*
  %3 = bitcast %"class.boost::detail::stored_edge"* %0 to i8*
  %4 = bitcast %"class.boost::detail::stored_edge"* %2 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 4, i32 4, i1 false)
  %m_property = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %this1, i32 0, i32 1
  %5 = load %"class.boost::detail::stored_edge_property"** %x.addr, align 4
  %m_property2 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %5, i32 0, i32 1
  call void @_ZNSt8auto_ptrIN5boost11no_propertyEEC1ERS2_(%"class.std::auto_ptr"* %m_property, %"class.std::auto_ptr"* %m_property2) nounwind
  ret void
}

define linkonce_odr void @_ZNSt8auto_ptrIN5boost11no_propertyEEC1ERS2_(%"class.std::auto_ptr"* %this, %"class.std::auto_ptr"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::auto_ptr"*, align 4
  %__a.addr = alloca %"class.std::auto_ptr"*, align 4
  store %"class.std::auto_ptr"* %this, %"class.std::auto_ptr"** %this.addr, align 4
  store %"class.std::auto_ptr"* %__a, %"class.std::auto_ptr"** %__a.addr, align 4
  %this1 = load %"class.std::auto_ptr"** %this.addr
  %0 = load %"class.std::auto_ptr"** %__a.addr
  call void @_ZNSt8auto_ptrIN5boost11no_propertyEEC2ERS2_(%"class.std::auto_ptr"* %this1, %"class.std::auto_ptr"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZNSt8auto_ptrIN5boost11no_propertyEEC2ERS2_(%"class.std::auto_ptr"* %this, %"class.std::auto_ptr"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::auto_ptr"*, align 4
  %__a.addr = alloca %"class.std::auto_ptr"*, align 4
  store %"class.std::auto_ptr"* %this, %"class.std::auto_ptr"** %this.addr, align 4
  store %"class.std::auto_ptr"* %__a, %"class.std::auto_ptr"** %__a.addr, align 4
  %this1 = load %"class.std::auto_ptr"** %this.addr
  %_M_ptr = getelementptr inbounds %"class.std::auto_ptr"* %this1, i32 0, i32 0
  %0 = load %"class.std::auto_ptr"** %__a.addr, align 4
  %call = call %"struct.boost::no_property"* @_ZNSt8auto_ptrIN5boost11no_propertyEE7releaseEv(%"class.std::auto_ptr"* %0) nounwind
  store %"struct.boost::no_property"* %call, %"struct.boost::no_property"** %_M_ptr, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6tuples5tupleIRN9__gnu_cxx17__normal_iteratorIPNS_6detail20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEERbNS0_9null_typeESF_SF_SF_SF_SF_SF_SF_EC1ESD_SE_(%"class.boost::tuples::tuple.43"* %this, %"class.__gnu_cxx::__normal_iterator.29"* %t0, i8* %t1) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple.43"*, align 4
  %t0.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  %t1.addr = alloca i8*, align 4
  store %"class.boost::tuples::tuple.43"* %this, %"class.boost::tuples::tuple.43"** %this.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %t0, %"class.__gnu_cxx::__normal_iterator.29"** %t0.addr, align 4
  store i8* %t1, i8** %t1.addr, align 4
  %this1 = load %"class.boost::tuples::tuple.43"** %this.addr
  %0 = load i8** %t1.addr
  %1 = load %"class.__gnu_cxx::__normal_iterator.29"** %t0.addr
  call void @_ZN5boost6tuples5tupleIRN9__gnu_cxx17__normal_iteratorIPNS_6detail20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEERbNS0_9null_typeESF_SF_SF_SF_SF_SF_SF_EC2ESD_SE_(%"class.boost::tuples::tuple.43"* %this1, %"class.__gnu_cxx::__normal_iterator.29"* %1, i8* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples5tupleIRN9__gnu_cxx17__normal_iteratorIPNS_6detail20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEERbNS0_9null_typeESF_SF_SF_SF_SF_SF_SF_EC2ESD_SE_(%"class.boost::tuples::tuple.43"* %this, %"class.__gnu_cxx::__normal_iterator.29"* %t0, i8* %t1) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::tuples::tuple.43"*, align 4
  %t0.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  %t1.addr = alloca i8*, align 4
  %ref.tmp = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp2 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp3 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp4 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp5 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp6 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp7 = alloca %"struct.boost::tuples::null_type", align 1
  %ref.tmp8 = alloca %"struct.boost::tuples::null_type", align 1
  store %"class.boost::tuples::tuple.43"* %this, %"class.boost::tuples::tuple.43"** %this.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %t0, %"class.__gnu_cxx::__normal_iterator.29"** %t0.addr, align 4
  store i8* %t1, i8** %t1.addr, align 4
  %this1 = load %"class.boost::tuples::tuple.43"** %this.addr
  %0 = bitcast %"class.boost::tuples::tuple.43"* %this1 to %"struct.boost::tuples::cons.44"*
  %1 = load %"class.__gnu_cxx::__normal_iterator.29"** %t0.addr, align 4
  %2 = load i8** %t1.addr, align 4
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp2)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp3)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp4)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp5)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp6)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp7)
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp8)
  call void @_ZN5boost6tuples4consIRN9__gnu_cxx17__normal_iteratorIPNS_6detail20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEENS1_IRbNS0_9null_typeEEEEC2ISC_bKSF_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EERT_RT0_RT1_RT2_RT3_RT4_RT5_RT6_RT7_RT8_(%"struct.boost::tuples::cons.44"* %0, %"class.__gnu_cxx::__normal_iterator.29"* %1, i8* %2, %"struct.boost::tuples::null_type"* %ref.tmp, %"struct.boost::tuples::null_type"* %ref.tmp2, %"struct.boost::tuples::null_type"* %ref.tmp3, %"struct.boost::tuples::null_type"* %ref.tmp4, %"struct.boost::tuples::null_type"* %ref.tmp5, %"struct.boost::tuples::null_type"* %ref.tmp6, %"struct.boost::tuples::null_type"* %ref.tmp7, %"struct.boost::tuples::null_type"* %ref.tmp8)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRN9__gnu_cxx17__normal_iteratorIPNS_6detail20stored_edge_propertyIjNS_11no_propertyEEESt6vectorIS7_SaIS7_EEEENS1_IRbNS0_9null_typeEEEEC2ISC_bKSF_SJ_SJ_SJ_SJ_SJ_SJ_SJ_EERT_RT0_RT1_RT2_RT3_RT4_RT5_RT6_RT7_RT8_(%"struct.boost::tuples::cons.44"* %this, %"class.__gnu_cxx::__normal_iterator.29"* %t1, i8* %t2, %"struct.boost::tuples::null_type"* %t3, %"struct.boost::tuples::null_type"* %t4, %"struct.boost::tuples::null_type"* %t5, %"struct.boost::tuples::null_type"* %t6, %"struct.boost::tuples::null_type"* %t7, %"struct.boost::tuples::null_type"* %t8, %"struct.boost::tuples::null_type"* %t9, %"struct.boost::tuples::null_type"* %t10) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.44"*, align 4
  %t1.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  %t2.addr = alloca i8*, align 4
  %t3.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t4.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t5.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t6.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t7.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t8.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t9.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %t10.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %ref.tmp = alloca %"struct.boost::tuples::null_type", align 1
  store %"struct.boost::tuples::cons.44"* %this, %"struct.boost::tuples::cons.44"** %this.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %t1, %"class.__gnu_cxx::__normal_iterator.29"** %t1.addr, align 4
  store i8* %t2, i8** %t2.addr, align 4
  store %"struct.boost::tuples::null_type"* %t3, %"struct.boost::tuples::null_type"** %t3.addr, align 4
  store %"struct.boost::tuples::null_type"* %t4, %"struct.boost::tuples::null_type"** %t4.addr, align 4
  store %"struct.boost::tuples::null_type"* %t5, %"struct.boost::tuples::null_type"** %t5.addr, align 4
  store %"struct.boost::tuples::null_type"* %t6, %"struct.boost::tuples::null_type"** %t6.addr, align 4
  store %"struct.boost::tuples::null_type"* %t7, %"struct.boost::tuples::null_type"** %t7.addr, align 4
  store %"struct.boost::tuples::null_type"* %t8, %"struct.boost::tuples::null_type"** %t8.addr, align 4
  store %"struct.boost::tuples::null_type"* %t9, %"struct.boost::tuples::null_type"** %t9.addr, align 4
  store %"struct.boost::tuples::null_type"* %t10, %"struct.boost::tuples::null_type"** %t10.addr, align 4
  %this1 = load %"struct.boost::tuples::cons.44"** %this.addr
  %0 = getelementptr inbounds %"struct.boost::tuples::cons.44"* %this1, i32 0, i32 0
  %1 = load %"class.__gnu_cxx::__normal_iterator.29"** %t1.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %1, %"class.__gnu_cxx::__normal_iterator.29"** %0, align 4
  %tail = getelementptr inbounds %"struct.boost::tuples::cons.44"* %this1, i32 0, i32 1
  %2 = load i8** %t2.addr, align 4
  %3 = load %"struct.boost::tuples::null_type"** %t3.addr, align 4
  %4 = load %"struct.boost::tuples::null_type"** %t4.addr, align 4
  %5 = load %"struct.boost::tuples::null_type"** %t5.addr, align 4
  %6 = load %"struct.boost::tuples::null_type"** %t6.addr, align 4
  %7 = load %"struct.boost::tuples::null_type"** %t7.addr, align 4
  %8 = load %"struct.boost::tuples::null_type"** %t8.addr, align 4
  %9 = load %"struct.boost::tuples::null_type"** %t9.addr, align 4
  %10 = load %"struct.boost::tuples::null_type"** %t10.addr, align 4
  call void @_ZN5boost6tuples6detail5cnullEv(%"struct.boost::tuples::null_type"* sret %ref.tmp)
  call void @_ZN5boost6tuples4consIRbNS0_9null_typeEEC1IbEERT_RKS3_S9_S9_S9_S9_S9_S9_S9_S9_(%"struct.boost::tuples::cons.45"* %tail, i8* %2, %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"* %9, %"struct.boost::tuples::null_type"* %10, %"struct.boost::tuples::null_type"* %ref.tmp)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRbNS0_9null_typeEEC1IbEERT_RKS3_S9_S9_S9_S9_S9_S9_S9_S9_(%"struct.boost::tuples::cons.45"* %this, i8* %t1, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.45"*, align 4
  %t1.addr = alloca i8*, align 4
  %.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr1 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr2 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr3 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr4 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr5 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr6 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr7 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr8 = alloca %"struct.boost::tuples::null_type"*, align 4
  store %"struct.boost::tuples::cons.45"* %this, %"struct.boost::tuples::cons.45"** %this.addr, align 4
  store i8* %t1, i8** %t1.addr, align 4
  store %"struct.boost::tuples::null_type"* %0, %"struct.boost::tuples::null_type"** %.addr, align 4
  store %"struct.boost::tuples::null_type"* %1, %"struct.boost::tuples::null_type"** %.addr1, align 4
  store %"struct.boost::tuples::null_type"* %2, %"struct.boost::tuples::null_type"** %.addr2, align 4
  store %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"** %.addr3, align 4
  store %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"** %.addr4, align 4
  store %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"** %.addr5, align 4
  store %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"** %.addr6, align 4
  store %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"** %.addr7, align 4
  store %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"** %.addr8, align 4
  %this9 = load %"struct.boost::tuples::cons.45"** %this.addr
  %9 = load i8** %t1.addr
  %10 = load %"struct.boost::tuples::null_type"** %.addr
  %11 = load %"struct.boost::tuples::null_type"** %.addr1
  %12 = load %"struct.boost::tuples::null_type"** %.addr2
  %13 = load %"struct.boost::tuples::null_type"** %.addr3
  %14 = load %"struct.boost::tuples::null_type"** %.addr4
  %15 = load %"struct.boost::tuples::null_type"** %.addr5
  %16 = load %"struct.boost::tuples::null_type"** %.addr6
  %17 = load %"struct.boost::tuples::null_type"** %.addr7
  %18 = load %"struct.boost::tuples::null_type"** %.addr8
  call void @_ZN5boost6tuples4consIRbNS0_9null_typeEEC2IbEERT_RKS3_S9_S9_S9_S9_S9_S9_S9_S9_(%"struct.boost::tuples::cons.45"* %this9, i8* %9, %"struct.boost::tuples::null_type"* %10, %"struct.boost::tuples::null_type"* %11, %"struct.boost::tuples::null_type"* %12, %"struct.boost::tuples::null_type"* %13, %"struct.boost::tuples::null_type"* %14, %"struct.boost::tuples::null_type"* %15, %"struct.boost::tuples::null_type"* %16, %"struct.boost::tuples::null_type"* %17, %"struct.boost::tuples::null_type"* %18)
  ret void
}

define linkonce_odr void @_ZN5boost6tuples4consIRbNS0_9null_typeEEC2IbEERT_RKS3_S9_S9_S9_S9_S9_S9_S9_S9_(%"struct.boost::tuples::cons.45"* %this, i8* %t1, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*, %"struct.boost::tuples::null_type"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.boost::tuples::cons.45"*, align 4
  %t1.addr = alloca i8*, align 4
  %.addr = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr1 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr2 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr3 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr4 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr5 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr6 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr7 = alloca %"struct.boost::tuples::null_type"*, align 4
  %.addr8 = alloca %"struct.boost::tuples::null_type"*, align 4
  store %"struct.boost::tuples::cons.45"* %this, %"struct.boost::tuples::cons.45"** %this.addr, align 4
  store i8* %t1, i8** %t1.addr, align 4
  store %"struct.boost::tuples::null_type"* %0, %"struct.boost::tuples::null_type"** %.addr, align 4
  store %"struct.boost::tuples::null_type"* %1, %"struct.boost::tuples::null_type"** %.addr1, align 4
  store %"struct.boost::tuples::null_type"* %2, %"struct.boost::tuples::null_type"** %.addr2, align 4
  store %"struct.boost::tuples::null_type"* %3, %"struct.boost::tuples::null_type"** %.addr3, align 4
  store %"struct.boost::tuples::null_type"* %4, %"struct.boost::tuples::null_type"** %.addr4, align 4
  store %"struct.boost::tuples::null_type"* %5, %"struct.boost::tuples::null_type"** %.addr5, align 4
  store %"struct.boost::tuples::null_type"* %6, %"struct.boost::tuples::null_type"** %.addr6, align 4
  store %"struct.boost::tuples::null_type"* %7, %"struct.boost::tuples::null_type"** %.addr7, align 4
  store %"struct.boost::tuples::null_type"* %8, %"struct.boost::tuples::null_type"** %.addr8, align 4
  %this9 = load %"struct.boost::tuples::cons.45"** %this.addr
  %9 = getelementptr inbounds %"struct.boost::tuples::cons.45"* %this9, i32 0, i32 0
  %10 = load i8** %t1.addr, align 4
  store i8* %10, i8** %9, align 4
  ret void
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexD2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  %0 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this1 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config18rand_stored_vertexD2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config18rand_stored_vertexD2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr
  %m_out_edges = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 0
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EED1Ev(%"class.std::vector.11"* %m_out_edges)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EED1Ev(%"class.std::vector.11"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EED2Ev(%"class.std::vector.11"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EED2Ev(%"class.std::vector.11"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"class.boost::detail::stored_edge_property"** %_M_start, align 4
  %2 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %2, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl2, i32 0, i32 1
  %3 = load %"class.boost::detail::stored_edge_property"** %_M_finish, align 4
  %4 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call = invoke %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  invoke void @_ZSt8_DestroyIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES4_EvT_S6_RSaIT0_E(%"class.boost::detail::stored_edge_property"* %1, %"class.boost::detail::stored_edge_property"* %3, %"class.std::allocator.13"* %call)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  %5 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  call void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EED2Ev(%"struct.std::_Vector_base.12"* %5)
  ret void

lpad:                                             ; preds = %invoke.cont, %entry
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  %9 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  invoke void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EED2Ev(%"struct.std::_Vector_base.12"* %9)
          to label %invoke.cont4 unwind label %terminate.lpad

invoke.cont4:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont4
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val5 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val5

terminate.lpad:                                   ; preds = %lpad
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EED2Ev(%"struct.std::_Vector_base.12"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_property"** %_M_start, align 4
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %1 = load %"class.boost::detail::stored_edge_property"** %_M_end_of_storage, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load %"class.boost::detail::stored_edge_property"** %_M_start4, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %2 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  invoke void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE13_M_deallocateEPS4_j(%"struct.std::_Vector_base.12"* %this1, %"class.boost::detail::stored_edge_property"* %0, i32 %sub.ptr.div)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl5) nounwind
  ret void

lpad:                                             ; preds = %entry
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl6) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"** %this.addr
  call void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this1 to %"class.std::allocator.13"*
  call void @_ZNSaIN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEEED2Ev(%"class.std::allocator.13"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEEED2Ev(%"class.std::allocator.13"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.13"*, align 4
  store %"class.std::allocator.13"* %this, %"class.std::allocator.13"** %this.addr, align 4
  %this1 = load %"class.std::allocator.13"** %this.addr
  %0 = bitcast %"class.std::allocator.13"* %this1 to %"class.__gnu_cxx::new_allocator.14"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEED2Ev(%"class.__gnu_cxx::new_allocator.14"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEED2Ev(%"class.__gnu_cxx::new_allocator.14"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexC2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  %0 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this1 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config18rand_stored_vertexC2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config18rand_stored_vertexC2Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr
  %m_out_edges = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 0
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEC1Ev(%"class.std::vector.11"* %m_out_edges)
  %m_property = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 1
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEC1Ev(%"class.std::vector.11"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEC2Ev(%"class.std::vector.11"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEC2Ev(%"class.std::vector.11"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  call void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEC2Ev(%"struct.std::_Vector_base.12"* %0)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEC2Ev(%"struct.std::_Vector_base.12"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implC1Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implC1Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"** %this.addr
  call void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implC2Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implC2Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this1 to %"class.std::allocator.13"*
  call void @_ZNSaIN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEEEC2Ev(%"class.std::allocator.13"* %0) nounwind
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this1, i32 0, i32 0
  store %"class.boost::detail::stored_edge_property"* null, %"class.boost::detail::stored_edge_property"** %_M_start, align 4
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this1, i32 0, i32 1
  store %"class.boost::detail::stored_edge_property"* null, %"class.boost::detail::stored_edge_property"** %_M_finish, align 4
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this1, i32 0, i32 2
  store %"class.boost::detail::stored_edge_property"* null, %"class.boost::detail::stored_edge_property"** %_M_end_of_storage, align 4
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEEEC2Ev(%"class.std::allocator.13"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.13"*, align 4
  store %"class.std::allocator.13"* %this, %"class.std::allocator.13"** %this.addr, align 4
  %this1 = load %"class.std::allocator.13"** %this.addr
  %0 = bitcast %"class.std::allocator.13"* %this1 to %"class.__gnu_cxx::new_allocator.14"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEEC2Ev(%"class.__gnu_cxx::new_allocator.14"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEEC2Ev(%"class.__gnu_cxx::new_allocator.14"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE6insertEN9__gnu_cxx17__normal_iteratorIPSB_SD_EEjRKSB_(%"class.std::vector"* %this, %"class.__gnu_cxx::__normal_iterator.47"* byval align 4 %__position, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.47", align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.47"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.47"* %__position to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %2 = load i32* %__n.addr, align 4
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPSB_SD_EEjRKSB_(%"class.std::vector"* %this1, %"class.__gnu_cxx::__normal_iterator.47"* byval align 4 %agg.tmp, i32 %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE3endEv(%"class.__gnu_cxx::__normal_iterator.47"* noalias sret %agg.result, %"class.std::vector"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 1
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEEC1ERKSD_(%"class.__gnu_cxx::__normal_iterator.47"* %agg.result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE15_M_erase_at_endEPSB_(%"class.std::vector"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__pos) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__pos.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__pos, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__pos.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__pos.addr, align 4
  %1 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %1, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  %3 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call = call %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %3)
  call void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EvT_SD_RSaIT0_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2, %"class.std::allocator.0"* %call)
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__pos.addr, align 4
  %5 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %5, i32 0, i32 0
  %_M_finish3 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %4, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish3, align 4
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EvT_SD_RSaIT0_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"class.std::allocator.0"*) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca %"class.std::allocator.0"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"class.std::allocator.0"* %0, %"class.std::allocator.0"** %.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  call void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEEvT_SD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  ret void
}

define linkonce_odr %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base"*, align 4
  store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl to %"class.std::allocator.0"*
  ret %"class.std::allocator.0"* %0
}

define linkonce_odr void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEEvT_SD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  call void @_ZNSt12_Destroy_auxILb0EE9__destroyIPN5boost6detail12adj_list_genINS2_14adjacency_listINS2_4vecSES6_NS2_9directedSENS2_11no_propertyES8_S8_NS2_5listSEEES6_S6_S7_S8_S8_S8_S9_E6config13stored_vertexEEEvT_SF_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1)
  ret void
}

define linkonce_odr void @_ZNSt12_Destroy_auxILb0EE9__destroyIPN5boost6detail12adj_list_genINS2_14adjacency_listINS2_4vecSES6_NS2_9directedSENS2_11no_propertyES8_S8_NS2_5listSEEES6_S6_S7_S8_S8_S8_S9_E6config13stored_vertexEEEvT_SF_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last) align 2 {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %cmp = icmp ne %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, %1
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt11__addressofIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEEPT_RSC_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  call void @_ZSt8_DestroyIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEEvPT_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEEvPT_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__pointer) inlinehint {
entry:
  %__pointer.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__pointer, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__pointer.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__pointer.addr, align 4
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0)
  ret void
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt11__addressofIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEEPT_RSC_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__r) nounwind inlinehint {
entry:
  %__r.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__r, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__r.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__r.addr, align 4
  %1 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0 to i8*
  %2 = bitcast i8* %1 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEEC1ERKSD_(%"class.__gnu_cxx::__normal_iterator.47"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.47"*, align 4
  %__i.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.47"* %this, %"class.__gnu_cxx::__normal_iterator.47"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__i, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.47"** %this.addr
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*** %__i.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEEC2ERKSD_(%"class.__gnu_cxx::__normal_iterator.47"* %this1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %0)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEEC2ERKSD_(%"class.__gnu_cxx::__normal_iterator.47"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__i) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.47"*, align 4
  %__i.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.47"* %this, %"class.__gnu_cxx::__normal_iterator.47"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__i, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.47"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.47"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*** %__i.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %0, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_current, align 4
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPSB_SD_EEjRKSB_(%"class.std::vector"* %this, %"class.__gnu_cxx::__normal_iterator.47"* byval align 4 %__position, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__x_copy = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex", align 4
  %__elems_after = alloca i32, align 4
  %ref.tmp = alloca %"class.__gnu_cxx::__normal_iterator.47", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %__old_finish = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__len = alloca i32, align 4
  %__elems_before = alloca i32, align 4
  %ref.tmp61 = alloca %"class.__gnu_cxx::__normal_iterator.47", align 4
  %__new_start = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__new_finish = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ne i32 %0, 0
  br i1 %cmp, label %if.then, label %if.end123

if.then:                                          ; preds = %entry
  %1 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 2
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage, align 4
  %3 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %3, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 1
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  %sub.ptr.lhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %4 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 16
  %5 = load i32* %__n.addr, align 4
  %cmp3 = icmp uge i32 %sub.ptr.div, %5
  br i1 %cmp3, label %if.then4, label %if.else59

if.then4:                                         ; preds = %if.then
  %6 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexC1ERKSA_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x_copy, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %6)
  invoke void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE3endEv(%"class.__gnu_cxx::__normal_iterator.47"* sret %ref.tmp, %"class.std::vector"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %if.then4
  %call = invoke i32 @_ZN9__gnu_cxxmiIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSK_SN_(%"class.__gnu_cxx::__normal_iterator.47"* %ref.tmp, %"class.__gnu_cxx::__normal_iterator.47"* %__position)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont
  store i32 %call, i32* %__elems_after, align 4
  %7 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base"* %7, i32 0, i32 0
  %_M_finish7 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl6, i32 0, i32 1
  %8 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish7, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %8, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__old_finish, align 4
  %9 = load i32* %__elems_after, align 4
  %10 = load i32* %__n.addr, align 4
  %cmp8 = icmp ugt i32 %9, %10
  br i1 %cmp8, label %if.then9, label %if.else

if.then9:                                         ; preds = %invoke.cont5
  %11 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl10 = getelementptr inbounds %"struct.std::_Vector_base"* %11, i32 0, i32 0
  %_M_finish11 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl10, i32 0, i32 1
  %12 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish11, align 4
  %13 = load i32* %__n.addr, align 4
  %idx.neg = sub i32 0, %13
  %add.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %12, i32 %idx.neg
  %14 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl12 = getelementptr inbounds %"struct.std::_Vector_base"* %14, i32 0, i32 0
  %_M_finish13 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl12, i32 0, i32 1
  %15 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish13, align 4
  %16 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl14 = getelementptr inbounds %"struct.std::_Vector_base"* %16, i32 0, i32 0
  %_M_finish15 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl14, i32 0, i32 1
  %17 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish15, align 4
  %18 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call17 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %18)
          to label %invoke.cont16 unwind label %lpad

invoke.cont16:                                    ; preds = %if.then9
  %call19 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_move_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_SaISB_EET0_T_SF_SE_RT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %15, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %17, %"class.std::allocator.0"* %call17)
          to label %invoke.cont18 unwind label %lpad

invoke.cont18:                                    ; preds = %invoke.cont16
  %19 = load i32* %__n.addr, align 4
  %20 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl20 = getelementptr inbounds %"struct.std::_Vector_base"* %20, i32 0, i32 0
  %_M_finish21 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl20, i32 0, i32 1
  %21 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish21, align 4
  %add.ptr22 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %21, i32 %19
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr22, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish21, align 4
  %call24 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.47"* %__position)
          to label %invoke.cont23 unwind label %lpad

invoke.cont23:                                    ; preds = %invoke.cont18
  %22 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %call24
  %23 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__old_finish, align 4
  %24 = load i32* %__n.addr, align 4
  %idx.neg25 = sub i32 0, %24
  %add.ptr26 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %23, i32 %idx.neg25
  %25 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__old_finish, align 4
  %call28 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt13copy_backwardIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_ET0_T_SE_SD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %22, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr26, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %25)
          to label %invoke.cont27 unwind label %lpad

invoke.cont27:                                    ; preds = %invoke.cont23
  %call30 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.47"* %__position)
          to label %invoke.cont29 unwind label %lpad

invoke.cont29:                                    ; preds = %invoke.cont27
  %26 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %call30
  %call32 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.47"* %__position)
          to label %invoke.cont31 unwind label %lpad

invoke.cont31:                                    ; preds = %invoke.cont29
  %27 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %call32
  %28 = load i32* %__n.addr, align 4
  %add.ptr33 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %27, i32 %28
  invoke void @_ZSt4fillIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EvT_SD_RKT0_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %26, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr33, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x_copy)
          to label %invoke.cont34 unwind label %lpad

invoke.cont34:                                    ; preds = %invoke.cont31
  br label %if.end

lpad:                                             ; preds = %invoke.cont55, %invoke.cont50, %invoke.cont48, %invoke.cont44, %invoke.cont39, %invoke.cont37, %if.else, %invoke.cont31, %invoke.cont29, %invoke.cont27, %invoke.cont23, %invoke.cont18, %invoke.cont16, %if.then9, %invoke.cont, %if.then4
  %29 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %30 = extractvalue { i8*, i32 } %29, 0
  store i8* %30, i8** %exn.slot
  %31 = extractvalue { i8*, i32 } %29, 1
  store i32 %31, i32* %ehselector.slot
  invoke void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x_copy)
          to label %invoke.cont58 unwind label %terminate.lpad

if.else:                                          ; preds = %invoke.cont5
  %32 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl35 = getelementptr inbounds %"struct.std::_Vector_base"* %32, i32 0, i32 0
  %_M_finish36 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl35, i32 0, i32 1
  %33 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish36, align 4
  %34 = load i32* %__n.addr, align 4
  %35 = load i32* %__elems_after, align 4
  %sub = sub i32 %34, %35
  %36 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call38 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %36)
          to label %invoke.cont37 unwind label %lpad

invoke.cont37:                                    ; preds = %if.else
  invoke void @_ZSt24__uninitialized_fill_n_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEjSB_SB_EvT_T0_RKT1_RSaIT2_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %33, i32 %sub, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x_copy, %"class.std::allocator.0"* %call38)
          to label %invoke.cont39 unwind label %lpad

invoke.cont39:                                    ; preds = %invoke.cont37
  %37 = load i32* %__n.addr, align 4
  %38 = load i32* %__elems_after, align 4
  %sub40 = sub i32 %37, %38
  %39 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl41 = getelementptr inbounds %"struct.std::_Vector_base"* %39, i32 0, i32 0
  %_M_finish42 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl41, i32 0, i32 1
  %40 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish42, align 4
  %add.ptr43 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %40, i32 %sub40
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr43, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish42, align 4
  %call45 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.47"* %__position)
          to label %invoke.cont44 unwind label %lpad

invoke.cont44:                                    ; preds = %invoke.cont39
  %41 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %call45
  %42 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__old_finish, align 4
  %43 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl46 = getelementptr inbounds %"struct.std::_Vector_base"* %43, i32 0, i32 0
  %_M_finish47 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl46, i32 0, i32 1
  %44 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish47, align 4
  %45 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call49 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %45)
          to label %invoke.cont48 unwind label %lpad

invoke.cont48:                                    ; preds = %invoke.cont44
  %call51 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_move_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_SaISB_EET0_T_SF_SE_RT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %41, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %42, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %44, %"class.std::allocator.0"* %call49)
          to label %invoke.cont50 unwind label %lpad

invoke.cont50:                                    ; preds = %invoke.cont48
  %46 = load i32* %__elems_after, align 4
  %47 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl52 = getelementptr inbounds %"struct.std::_Vector_base"* %47, i32 0, i32 0
  %_M_finish53 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl52, i32 0, i32 1
  %48 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish53, align 4
  %add.ptr54 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %48, i32 %46
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr54, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish53, align 4
  %call56 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.47"* %__position)
          to label %invoke.cont55 unwind label %lpad

invoke.cont55:                                    ; preds = %invoke.cont50
  %49 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %call56
  %50 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__old_finish, align 4
  invoke void @_ZSt4fillIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EvT_SD_RKT0_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %49, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %50, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x_copy)
          to label %invoke.cont57 unwind label %lpad

invoke.cont57:                                    ; preds = %invoke.cont55
  br label %if.end

if.end:                                           ; preds = %invoke.cont57, %invoke.cont34
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x_copy)
  br label %if.end122

invoke.cont58:                                    ; preds = %lpad
  br label %eh.resume

if.else59:                                        ; preds = %if.then
  %51 = load i32* %__n.addr, align 4
  %call60 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE12_M_check_lenEjPKc(%"class.std::vector"* %this1, i32 %51, i8* getelementptr inbounds ([23 x i8]* @.str10, i32 0, i32 0))
  store i32 %call60, i32* %__len, align 4
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.47"* sret %ref.tmp61, %"class.std::vector"* %this1)
  %call62 = call i32 @_ZN9__gnu_cxxmiIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSK_SN_(%"class.__gnu_cxx::__normal_iterator.47"* %__position, %"class.__gnu_cxx::__normal_iterator.47"* %ref.tmp61)
  store i32 %call62, i32* %__elems_before, align 4
  %52 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %53 = load i32* %__len, align 4
  %call63 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE11_M_allocateEj(%"struct.std::_Vector_base"* %52, i32 %53)
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call63, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %54 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %54, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %55 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %56 = load i32* %__elems_before, align 4
  %add.ptr64 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %55, i32 %56
  %57 = load i32* %__n.addr, align 4
  %58 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  %59 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call67 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %59)
          to label %invoke.cont66 unwind label %lpad65

invoke.cont66:                                    ; preds = %if.else59
  invoke void @_ZSt24__uninitialized_fill_n_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEjSB_SB_EvT_T0_RKT1_RSaIT2_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr64, i32 %57, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %58, %"class.std::allocator.0"* %call67)
          to label %invoke.cont68 unwind label %lpad65

invoke.cont68:                                    ; preds = %invoke.cont66
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* null, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %60 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl69 = getelementptr inbounds %"struct.std::_Vector_base"* %60, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl69, i32 0, i32 0
  %61 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %call71 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.47"* %__position)
          to label %invoke.cont70 unwind label %lpad65

invoke.cont70:                                    ; preds = %invoke.cont68
  %62 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %call71
  %63 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %64 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call73 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %64)
          to label %invoke.cont72 unwind label %lpad65

invoke.cont72:                                    ; preds = %invoke.cont70
  %call75 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_move_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_SaISB_EET0_T_SF_SE_RT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %61, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %62, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %63, %"class.std::allocator.0"* %call73)
          to label %invoke.cont74 unwind label %lpad65

invoke.cont74:                                    ; preds = %invoke.cont72
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call75, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %65 = load i32* %__n.addr, align 4
  %66 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %add.ptr76 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %66, i32 %65
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr76, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %call78 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.47"* %__position)
          to label %invoke.cont77 unwind label %lpad65

invoke.cont77:                                    ; preds = %invoke.cont74
  %67 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %call78
  %68 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl79 = getelementptr inbounds %"struct.std::_Vector_base"* %68, i32 0, i32 0
  %_M_finish80 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl79, i32 0, i32 1
  %69 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish80, align 4
  %70 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %71 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call82 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %71)
          to label %invoke.cont81 unwind label %lpad65

invoke.cont81:                                    ; preds = %invoke.cont77
  %call84 = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_move_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_SaISB_EET0_T_SF_SE_RT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %67, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %69, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %70, %"class.std::allocator.0"* %call82)
          to label %invoke.cont83 unwind label %lpad65

invoke.cont83:                                    ; preds = %invoke.cont81
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call84, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  br label %try.cont

lpad65:                                           ; preds = %invoke.cont81, %invoke.cont77, %invoke.cont74, %invoke.cont72, %invoke.cont70, %invoke.cont68, %invoke.cont66, %if.else59
  %72 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %73 = extractvalue { i8*, i32 } %72, 0
  store i8* %73, i8** %exn.slot
  %74 = extractvalue { i8*, i32 } %72, 1
  store i32 %74, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad65
  %exn = load i8** %exn.slot
  %75 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %76 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %tobool = icmp ne %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %76, null
  br i1 %tobool, label %if.else93, label %if.then85

if.then85:                                        ; preds = %catch
  %77 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %78 = load i32* %__elems_before, align 4
  %add.ptr86 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %77, i32 %78
  %79 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %80 = load i32* %__elems_before, align 4
  %add.ptr87 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %79, i32 %80
  %81 = load i32* %__n.addr, align 4
  %add.ptr88 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr87, i32 %81
  %82 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call91 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %82)
          to label %invoke.cont90 unwind label %lpad89

invoke.cont90:                                    ; preds = %if.then85
  invoke void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EvT_SD_RSaIT0_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr86, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr88, %"class.std::allocator.0"* %call91)
          to label %invoke.cont92 unwind label %lpad89

invoke.cont92:                                    ; preds = %invoke.cont90
  br label %if.end97

lpad89:                                           ; preds = %invoke.cont98, %if.end97, %invoke.cont94, %if.else93, %invoke.cont90, %if.then85
  %83 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %84 = extractvalue { i8*, i32 } %83, 0
  store i8* %84, i8** %exn.slot
  %85 = extractvalue { i8*, i32 } %83, 1
  store i32 %85, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont99 unwind label %terminate.lpad

if.else93:                                        ; preds = %catch
  %86 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %87 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %88 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call95 = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %88)
          to label %invoke.cont94 unwind label %lpad89

invoke.cont94:                                    ; preds = %if.else93
  invoke void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EvT_SD_RSaIT0_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %86, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %87, %"class.std::allocator.0"* %call95)
          to label %invoke.cont96 unwind label %lpad89

invoke.cont96:                                    ; preds = %invoke.cont94
  br label %if.end97

if.end97:                                         ; preds = %invoke.cont96, %invoke.cont92
  %89 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %90 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %91 = load i32* %__len, align 4
  invoke void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE13_M_deallocateEPSB_j(%"struct.std::_Vector_base"* %89, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %90, i32 %91)
          to label %invoke.cont98 unwind label %lpad89

invoke.cont98:                                    ; preds = %if.end97
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad89

invoke.cont99:                                    ; preds = %lpad89
  br label %eh.resume

try.cont:                                         ; preds = %invoke.cont83
  %92 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl100 = getelementptr inbounds %"struct.std::_Vector_base"* %92, i32 0, i32 0
  %_M_start101 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl100, i32 0, i32 0
  %93 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start101, align 4
  %94 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl102 = getelementptr inbounds %"struct.std::_Vector_base"* %94, i32 0, i32 0
  %_M_finish103 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl102, i32 0, i32 1
  %95 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish103, align 4
  %96 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call104 = call %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %96)
  call void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EvT_SD_RSaIT0_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %93, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %95, %"class.std::allocator.0"* %call104)
  %97 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %98 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl105 = getelementptr inbounds %"struct.std::_Vector_base"* %98, i32 0, i32 0
  %_M_start106 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl105, i32 0, i32 0
  %99 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start106, align 4
  %100 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl107 = getelementptr inbounds %"struct.std::_Vector_base"* %100, i32 0, i32 0
  %_M_end_of_storage108 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl107, i32 0, i32 2
  %101 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage108, align 4
  %102 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl109 = getelementptr inbounds %"struct.std::_Vector_base"* %102, i32 0, i32 0
  %_M_start110 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl109, i32 0, i32 0
  %103 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start110, align 4
  %sub.ptr.lhs.cast111 = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %101 to i32
  %sub.ptr.rhs.cast112 = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %103 to i32
  %sub.ptr.sub113 = sub i32 %sub.ptr.lhs.cast111, %sub.ptr.rhs.cast112
  %sub.ptr.div114 = sdiv exact i32 %sub.ptr.sub113, 16
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE13_M_deallocateEPSB_j(%"struct.std::_Vector_base"* %97, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %99, i32 %sub.ptr.div114)
  %104 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %105 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl115 = getelementptr inbounds %"struct.std::_Vector_base"* %105, i32 0, i32 0
  %_M_start116 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl115, i32 0, i32 0
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %104, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start116, align 4
  %106 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_finish, align 4
  %107 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl117 = getelementptr inbounds %"struct.std::_Vector_base"* %107, i32 0, i32 0
  %_M_finish118 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl117, i32 0, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %106, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish118, align 4
  %108 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__new_start, align 4
  %109 = load i32* %__len, align 4
  %add.ptr119 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %108, i32 %109
  %110 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl120 = getelementptr inbounds %"struct.std::_Vector_base"* %110, i32 0, i32 0
  %_M_end_of_storage121 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl120, i32 0, i32 2
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr119, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage121, align 4
  br label %if.end122

if.end122:                                        ; preds = %try.cont, %if.end
  br label %if.end123

if.end123:                                        ; preds = %if.end122, %entry
  ret void

eh.resume:                                        ; preds = %invoke.cont99, %invoke.cont58
  %exn124 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn124, 0
  %lpad.val125 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val125

terminate.lpad:                                   ; preds = %lpad89, %lpad
  %111 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont98
  unreachable
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexC1ERKSA_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %.addr
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexC2ERKSA_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1)
  ret void
}

define linkonce_odr i32 @_ZN9__gnu_cxxmiIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEEENS_17__normal_iteratorIT_T0_E15difference_typeERKSK_SN_(%"class.__gnu_cxx::__normal_iterator.47"* %__lhs, %"class.__gnu_cxx::__normal_iterator.47"* %__rhs) nounwind inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.47"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.47"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.47"* %__lhs, %"class.__gnu_cxx::__normal_iterator.47"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.47"* %__rhs, %"class.__gnu_cxx::__normal_iterator.47"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.47"** %__lhs.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.47"* %0)
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator.47"** %__rhs.addr, align 4
  %call1 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.47"* %2)
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %call1
  %sub.ptr.lhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 16
  ret i32 %sub.ptr.div
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_move_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_SaISB_EET0_T_SF_SE_RT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"class.std::allocator.0"* %__alloc) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__alloc.addr = alloca %"class.std::allocator.0"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  store %"class.std::allocator.0"* %__alloc, %"class.std::allocator.0"** %__alloc.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %3 = load %"class.std::allocator.0"** %__alloc.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_copy_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_SB_ET0_T_SE_SD_RSaIT1_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2, %"class.std::allocator.0"* %3)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt13copy_backwardIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_ET0_T_SE_SD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__miter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEENSt11_Miter_baseIT_E13iterator_typeESE_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0)
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %call1 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__miter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEENSt11_Miter_baseIT_E13iterator_typeESE_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1)
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %call2 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt23__copy_move_backward_a2ILb0EPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_ET1_T0_SE_SD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call2
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.47"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.47"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.47"* %this, %"class.__gnu_cxx::__normal_iterator.47"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.47"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.47"* %this1, i32 0, i32 0
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_current
}

define linkonce_odr void @_ZSt4fillIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EvT_SD_RKT0_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__value) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__value.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__niter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEENSt11_Niter_baseIT_E13iterator_typeESE_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0)
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %call1 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__niter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEENSt11_Niter_baseIT_E13iterator_typeESE_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1)
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  call void @_ZSt8__fill_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EN9__gnu_cxx11__enable_ifIXntsr11__is_scalarIT0_EE7__valueEvE6__typeET_SI_RKSF_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  ret void
}

define linkonce_odr void @_ZSt24__uninitialized_fill_n_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEjSB_SB_EvT_T0_RKT1_RSaIT2_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x, %"class.std::allocator.0"*) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca %"class.std::allocator.0"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  store %"class.std::allocator.0"* %0, %"class.std::allocator.0"** %.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %2 = load i32* %__n.addr, align 4
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  call void @_ZSt20uninitialized_fill_nIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEjSB_EvT_T0_RKT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1, i32 %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3)
  ret void
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE12_M_check_lenEjPKc(%"class.std::vector"* %this, i32 %__n, i8* %__s) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  %__s.addr = alloca i8*, align 4
  %__len = alloca i32, align 4
  %ref.tmp = alloca i32, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %__s, i8** %__s.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %call = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE8max_sizeEv(%"class.std::vector"* %this1)
  %call2 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE4sizeEv(%"class.std::vector"* %this1)
  %sub = sub i32 %call, %call2
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ult i32 %sub, %0
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %1 = load i8** %__s.addr, align 4
  call void @_ZSt20__throw_length_errorPKc(i8* %1) noreturn
  unreachable

if.end:                                           ; preds = %entry
  %call3 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE4sizeEv(%"class.std::vector"* %this1)
  %call4 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE4sizeEv(%"class.std::vector"* %this1)
  store i32 %call4, i32* %ref.tmp, align 4
  %call5 = call i32* @_ZSt3maxIjERKT_S2_S2_(i32* %ref.tmp, i32* %__n.addr)
  %2 = load i32* %call5
  %add = add i32 %call3, %2
  store i32 %add, i32* %__len, align 4
  %3 = load i32* %__len, align 4
  %call6 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE4sizeEv(%"class.std::vector"* %this1)
  %cmp7 = icmp ult i32 %3, %call6
  br i1 %cmp7, label %cond.true, label %lor.lhs.false

lor.lhs.false:                                    ; preds = %if.end
  %4 = load i32* %__len, align 4
  %call8 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE8max_sizeEv(%"class.std::vector"* %this1)
  %cmp9 = icmp ugt i32 %4, %call8
  br i1 %cmp9, label %cond.true, label %cond.false

cond.true:                                        ; preds = %lor.lhs.false, %if.end
  %call10 = call i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE8max_sizeEv(%"class.std::vector"* %this1)
  br label %cond.end

cond.false:                                       ; preds = %lor.lhs.false
  %5 = load i32* %__len, align 4
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi i32 [ %call10, %cond.true ], [ %5, %cond.false ]
  ret i32 %cond
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.47"* noalias sret %agg.result, %"class.std::vector"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexESt6vectorISC_SaISC_EEEC1ERKSD_(%"class.__gnu_cxx::__normal_iterator.47"* %agg.result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start)
  ret void
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE11_M_allocateEj(%"struct.std::_Vector_base"* %this, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %cmp = icmp ne i32 %0, 0
  br i1 %cmp, label %cond.true, label %cond.false

cond.true:                                        ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.1"*
  %2 = load i32* %__n.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.1"* %1, i32 %2, i8* null)
  br label %cond.end

cond.false:                                       ; preds = %entry
  br label %cond.end

cond.end:                                         ; preds = %cond.false, %cond.true
  %cond = phi %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* [ %call, %cond.true ], [ null, %cond.false ]
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %cond
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE13_M_deallocateEPSB_j(%"struct.std::_Vector_base"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__p, i32 %__n) align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base"*, align 4
  %__p.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__n.addr = alloca i32, align 4
  store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__p, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"struct.std::_Vector_base"** %this.addr
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  %tobool = icmp ne %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, null
  br i1 %tobool, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl to %"class.__gnu_cxx::new_allocator.1"*
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  %3 = load i32* %__n.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexEE10deallocateEPSC_j(%"class.__gnu_cxx::new_allocator.1"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2, i32 %3)
  br label %if.end

if.end:                                           ; preds = %if.then, %entry
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexEE10deallocateEPSC_j(%"class.__gnu_cxx::new_allocator.1"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__p, i32) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  %__p.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca i32, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__p, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  store i32 %0, i32* %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.1"** %this.addr
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  %2 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1 to i8*
  call void @_ZdlPv(i8* %2) nounwind
  ret void
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexEE8allocateEjPKv(%"class.__gnu_cxx::new_allocator.1"* %this, i32 %__n, i8*) align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  %__n.addr = alloca i32, align 4
  %.addr = alloca i8*, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store i8* %0, i8** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.1"** %this.addr
  %1 = load i32* %__n.addr, align 4
  %call = call i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.1"* %this1) nounwind
  %cmp = icmp ugt i32 %1, %call
  br i1 %cmp, label %if.then, label %if.end

if.then:                                          ; preds = %entry
  call void @_ZSt17__throw_bad_allocv() noreturn
  unreachable

if.end:                                           ; preds = %entry
  %2 = load i32* %__n.addr, align 4
  %mul = mul i32 %2, 16
  %call2 = call noalias i8* @_Znwj(i32 %mul)
  %3 = bitcast i8* %call2 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3
}

define linkonce_odr i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.1"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.1"** %this.addr
  ret i32 268435455
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE8max_sizeEv(%"class.std::vector"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call = call %"class.std::allocator.0"* @_ZNKSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %0)
  %1 = bitcast %"class.std::allocator.0"* %call to %"class.__gnu_cxx::new_allocator.1"*
  %call2 = call i32 @_ZNK9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexEE8max_sizeEv(%"class.__gnu_cxx::new_allocator.1"* %1) nounwind
  ret i32 %call2
}

define linkonce_odr %"class.std::allocator.0"* @_ZNKSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base"*, align 4
  store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl to %"class.std::allocator.0"*
  ret %"class.std::allocator.0"* %0
}

define linkonce_odr void @_ZSt20uninitialized_fill_nIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEjSB_EvT_T0_RKT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load i32* %__n.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  call void @_ZNSt22__uninitialized_fill_nILb0EE15__uninit_fill_nIPN5boost6detail12adj_list_genINS2_14adjacency_listINS2_4vecSES6_NS2_9directedSENS2_11no_propertyES8_S8_NS2_5listSEEES6_S6_S7_S8_S8_S8_S9_E6config13stored_vertexEjSD_EEvT_T0_RKT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, i32 %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  ret void
}

define linkonce_odr void @_ZNSt22__uninitialized_fill_nILb0EE15__uninit_fill_nIPN5boost6detail12adj_list_genINS2_14adjacency_listINS2_4vecSES6_NS2_9directedSENS2_11no_propertyES8_S8_NS2_5listSEEES6_S6_S7_S8_S8_S8_S9_E6config13stored_vertexEjSD_EEvT_T0_RKT1_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x) align 2 {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__n.addr = alloca i32, align 4
  %__x.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__cur = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__x, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %1 = load i32* %__n.addr, align 4
  %cmp = icmp ugt i32 %1, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  %call = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt11__addressofIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEEPT_RSC_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %for.body
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__x.addr, align 4
  invoke void @_ZSt10_ConstructIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EvPT_RKT0_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3)
          to label %invoke.cont1 unwind label %lpad

invoke.cont1:                                     ; preds = %invoke.cont
  br label %for.inc

for.inc:                                          ; preds = %invoke.cont1
  %4 = load i32* %__n.addr, align 4
  %dec = add i32 %4, -1
  store i32 %dec, i32* %__n.addr, align 4
  %5 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  %incdec.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %5, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  br label %for.cond

lpad:                                             ; preds = %invoke.cont, %for.body
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %9 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %10 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %11 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  invoke void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEEvT_SD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %10, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %11)
          to label %invoke.cont3 unwind label %lpad2

invoke.cont3:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad2

for.end:                                          ; preds = %for.cond
  br label %try.cont

lpad2:                                            ; preds = %invoke.cont3, %catch
  %12 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %13 = extractvalue { i8*, i32 } %12, 0
  store i8* %13, i8** %exn.slot
  %14 = extractvalue { i8*, i32 } %12, 1
  store i32 %14, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont4 unwind label %terminate.lpad

invoke.cont4:                                     ; preds = %lpad2
  br label %eh.resume

try.cont:                                         ; preds = %for.end
  ret void

eh.resume:                                        ; preds = %invoke.cont4
  %exn5 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn5, 0
  %lpad.val6 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val6

terminate.lpad:                                   ; preds = %lpad2
  %15 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont3
  unreachable
}

define linkonce_odr void @_ZSt10_ConstructIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EvPT_RKT0_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__p, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__value) inlinehint {
entry:
  %__p.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__value.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__p, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__p.addr, align 4
  %1 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0 to i8*
  %new.isnull = icmp eq i8* %1, null
  br i1 %new.isnull, label %new.cont, label %new.notnull

new.notnull:                                      ; preds = %entry
  %2 = bitcast i8* %1 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexC1ERKSA_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3)
  br label %new.cont

new.cont:                                         ; preds = %new.notnull, %entry
  %4 = phi %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* [ %2, %new.notnull ], [ null, %entry ]
  ret void
}

define linkonce_odr void @_ZSt8__fill_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EN9__gnu_cxx11__enable_ifIXntsr11__is_scalarIT0_EE7__valueEvE6__typeET_SI_RKSF_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__value) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__value.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %cmp = icmp ne %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, %1
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexaSERKSA_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %4, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  ret void
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__niter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEENSt11_Niter_baseIT_E13iterator_typeESE_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__it) inlinehint {
entry:
  %__it.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__it, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__it.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__it.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt10_Iter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexELb0EE7_S_baseESC_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt10_Iter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexELb0EE7_S_baseESC_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__it) nounwind align 2 {
entry:
  %__it.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__it, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__it.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__it.addr, align 4
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexaSERKSA_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  %1 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this1 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %.addr, align 4
  %3 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config18rand_stored_vertexaSERKSA_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %3)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this1
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config18rand_stored_vertexaSERKSA_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*) inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*, align 4
  %.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr
  %m_out_edges = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 0
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %.addr, align 4
  %m_out_edges2 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %1, i32 0, i32 0
  %call = call %"class.std::vector.11"* @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEaSERKS6_(%"class.std::vector.11"* %m_out_edges, %"class.std::vector.11"* %m_out_edges2)
  %m_property = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 1
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %.addr, align 4
  %m_property3 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %2, i32 0, i32 1
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1
}

define linkonce_odr %"class.std::vector.11"* @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEaSERKS6_(%"class.std::vector.11"* %this, %"class.std::vector.11"* %__x) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__x.addr = alloca %"class.std::vector.11"*, align 4
  %__xlen = alloca i32, align 4
  %__tmp = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %agg.tmp5 = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %agg.tmp23 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  %agg.tmp24 = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %agg.tmp25 = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %agg.tmp26 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  %agg.tmp27 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store %"class.std::vector.11"* %__x, %"class.std::vector.11"** %__x.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = load %"class.std::vector.11"** %__x.addr, align 4
  %cmp = icmp ne %"class.std::vector.11"* %0, %this1
  br i1 %cmp, label %if.then, label %if.end55

if.then:                                          ; preds = %entry
  %1 = load %"class.std::vector.11"** %__x.addr, align 4
  %call = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE4sizeEv(%"class.std::vector.11"* %1)
  store i32 %call, i32* %__xlen, align 4
  %2 = load i32* %__xlen, align 4
  %call2 = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE8capacityEv(%"class.std::vector.11"* %this1)
  %cmp3 = icmp ugt i32 %2, %call2
  br i1 %cmp3, label %if.then4, label %if.else

if.then4:                                         ; preds = %if.then
  %3 = load i32* %__xlen, align 4
  %4 = load %"class.std::vector.11"** %__x.addr, align 4
  call void @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.48"* sret %agg.tmp, %"class.std::vector.11"* %4)
  %5 = load %"class.std::vector.11"** %__x.addr, align 4
  call void @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator.48"* sret %agg.tmp5, %"class.std::vector.11"* %5)
  %call6 = call %"class.boost::detail::stored_edge_property"* @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS4_S6_EEEEPS4_jT_SE_(%"class.std::vector.11"* %this1, i32 %3, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp5)
  store %"class.boost::detail::stored_edge_property"* %call6, %"class.boost::detail::stored_edge_property"** %__tmp, align 4
  %6 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %6, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %7 = load %"class.boost::detail::stored_edge_property"** %_M_start, align 4
  %8 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl7 = getelementptr inbounds %"struct.std::_Vector_base.12"* %8, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl7, i32 0, i32 1
  %9 = load %"class.boost::detail::stored_edge_property"** %_M_finish, align 4
  %10 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call8 = call %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %10)
  call void @_ZSt8_DestroyIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES4_EvT_S6_RSaIT0_E(%"class.boost::detail::stored_edge_property"* %7, %"class.boost::detail::stored_edge_property"* %9, %"class.std::allocator.13"* %call8)
  %11 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %12 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl9 = getelementptr inbounds %"struct.std::_Vector_base.12"* %12, i32 0, i32 0
  %_M_start10 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl9, i32 0, i32 0
  %13 = load %"class.boost::detail::stored_edge_property"** %_M_start10, align 4
  %14 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl11 = getelementptr inbounds %"struct.std::_Vector_base.12"* %14, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl11, i32 0, i32 2
  %15 = load %"class.boost::detail::stored_edge_property"** %_M_end_of_storage, align 4
  %16 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl12 = getelementptr inbounds %"struct.std::_Vector_base.12"* %16, i32 0, i32 0
  %_M_start13 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl12, i32 0, i32 0
  %17 = load %"class.boost::detail::stored_edge_property"** %_M_start13, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %15 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %17 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  call void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE13_M_deallocateEPS4_j(%"struct.std::_Vector_base.12"* %11, %"class.boost::detail::stored_edge_property"* %13, i32 %sub.ptr.div)
  %18 = load %"class.boost::detail::stored_edge_property"** %__tmp, align 4
  %19 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl14 = getelementptr inbounds %"struct.std::_Vector_base.12"* %19, i32 0, i32 0
  %_M_start15 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl14, i32 0, i32 0
  store %"class.boost::detail::stored_edge_property"* %18, %"class.boost::detail::stored_edge_property"** %_M_start15, align 4
  %20 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl16 = getelementptr inbounds %"struct.std::_Vector_base.12"* %20, i32 0, i32 0
  %_M_start17 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl16, i32 0, i32 0
  %21 = load %"class.boost::detail::stored_edge_property"** %_M_start17, align 4
  %22 = load i32* %__xlen, align 4
  %add.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %21, i32 %22
  %23 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl18 = getelementptr inbounds %"struct.std::_Vector_base.12"* %23, i32 0, i32 0
  %_M_end_of_storage19 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl18, i32 0, i32 2
  store %"class.boost::detail::stored_edge_property"* %add.ptr, %"class.boost::detail::stored_edge_property"** %_M_end_of_storage19, align 4
  br label %if.end49

if.else:                                          ; preds = %if.then
  %call20 = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE4sizeEv(%"class.std::vector.11"* %this1)
  %24 = load i32* %__xlen, align 4
  %cmp21 = icmp uge i32 %call20, %24
  br i1 %cmp21, label %if.then22, label %if.else29

if.then22:                                        ; preds = %if.else
  %25 = load %"class.std::vector.11"** %__x.addr, align 4
  call void @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.48"* sret %agg.tmp24, %"class.std::vector.11"* %25)
  %26 = load %"class.std::vector.11"** %__x.addr, align 4
  call void @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator.48"* sret %agg.tmp25, %"class.std::vector.11"* %26)
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.29"* sret %agg.tmp26, %"class.std::vector.11"* %this1)
  call void @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEENS1_IPS6_SB_EEET0_T_SG_SF_(%"class.__gnu_cxx::__normal_iterator.29"* sret %agg.tmp23, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp24, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp25, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %agg.tmp26)
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator.29"* sret %agg.tmp27, %"class.std::vector.11"* %this1)
  %27 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call28 = call %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %27)
  call void @_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEES6_EvT_SC_RSaIT0_E(%"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %agg.tmp23, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %agg.tmp27, %"class.std::allocator.13"* %call28)
  br label %if.end

if.else29:                                        ; preds = %if.else
  %28 = load %"class.std::vector.11"** %__x.addr, align 4
  %29 = bitcast %"class.std::vector.11"* %28 to %"struct.std::_Vector_base.12"*
  %_M_impl30 = getelementptr inbounds %"struct.std::_Vector_base.12"* %29, i32 0, i32 0
  %_M_start31 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl30, i32 0, i32 0
  %30 = load %"class.boost::detail::stored_edge_property"** %_M_start31, align 4
  %31 = load %"class.std::vector.11"** %__x.addr, align 4
  %32 = bitcast %"class.std::vector.11"* %31 to %"struct.std::_Vector_base.12"*
  %_M_impl32 = getelementptr inbounds %"struct.std::_Vector_base.12"* %32, i32 0, i32 0
  %_M_start33 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl32, i32 0, i32 0
  %33 = load %"class.boost::detail::stored_edge_property"** %_M_start33, align 4
  %call34 = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE4sizeEv(%"class.std::vector.11"* %this1)
  %add.ptr35 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %33, i32 %call34
  %34 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl36 = getelementptr inbounds %"struct.std::_Vector_base.12"* %34, i32 0, i32 0
  %_M_start37 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl36, i32 0, i32 0
  %35 = load %"class.boost::detail::stored_edge_property"** %_M_start37, align 4
  %call38 = call %"class.boost::detail::stored_edge_property"* @_ZSt4copyIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET0_T_S7_S6_(%"class.boost::detail::stored_edge_property"* %30, %"class.boost::detail::stored_edge_property"* %add.ptr35, %"class.boost::detail::stored_edge_property"* %35)
  %36 = load %"class.std::vector.11"** %__x.addr, align 4
  %37 = bitcast %"class.std::vector.11"* %36 to %"struct.std::_Vector_base.12"*
  %_M_impl39 = getelementptr inbounds %"struct.std::_Vector_base.12"* %37, i32 0, i32 0
  %_M_start40 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl39, i32 0, i32 0
  %38 = load %"class.boost::detail::stored_edge_property"** %_M_start40, align 4
  %call41 = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE4sizeEv(%"class.std::vector.11"* %this1)
  %add.ptr42 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %38, i32 %call41
  %39 = load %"class.std::vector.11"** %__x.addr, align 4
  %40 = bitcast %"class.std::vector.11"* %39 to %"struct.std::_Vector_base.12"*
  %_M_impl43 = getelementptr inbounds %"struct.std::_Vector_base.12"* %40, i32 0, i32 0
  %_M_finish44 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl43, i32 0, i32 1
  %41 = load %"class.boost::detail::stored_edge_property"** %_M_finish44, align 4
  %42 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl45 = getelementptr inbounds %"struct.std::_Vector_base.12"* %42, i32 0, i32 0
  %_M_finish46 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl45, i32 0, i32 1
  %43 = load %"class.boost::detail::stored_edge_property"** %_M_finish46, align 4
  %44 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call47 = call %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %44)
  %call48 = call %"class.boost::detail::stored_edge_property"* @_ZSt22__uninitialized_copy_aIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_S4_ET0_T_S7_S6_RSaIT1_E(%"class.boost::detail::stored_edge_property"* %add.ptr42, %"class.boost::detail::stored_edge_property"* %41, %"class.boost::detail::stored_edge_property"* %43, %"class.std::allocator.13"* %call47)
  br label %if.end

if.end:                                           ; preds = %if.else29, %if.then22
  br label %if.end49

if.end49:                                         ; preds = %if.end, %if.then4
  %45 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl50 = getelementptr inbounds %"struct.std::_Vector_base.12"* %45, i32 0, i32 0
  %_M_start51 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl50, i32 0, i32 0
  %46 = load %"class.boost::detail::stored_edge_property"** %_M_start51, align 4
  %47 = load i32* %__xlen, align 4
  %add.ptr52 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %46, i32 %47
  %48 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl53 = getelementptr inbounds %"struct.std::_Vector_base.12"* %48, i32 0, i32 0
  %_M_finish54 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl53, i32 0, i32 1
  store %"class.boost::detail::stored_edge_property"* %add.ptr52, %"class.boost::detail::stored_edge_property"** %_M_finish54, align 4
  br label %if.end55

if.end55:                                         ; preds = %if.end49, %entry
  ret %"class.std::vector.11"* %this1
}

define linkonce_odr i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE8capacityEv(%"class.std::vector.11"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl, i32 0, i32 2
  %1 = load %"class.boost::detail::stored_edge_property"** %_M_end_of_storage, align 4
  %2 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %2, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  %3 = load %"class.boost::detail::stored_edge_property"** %_M_start, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %3 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  ret i32 %sub.ptr.div
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE20_M_allocate_and_copyIN9__gnu_cxx17__normal_iteratorIPKS4_S6_EEEEPS4_jT_SE_(%"class.std::vector.11"* %this, i32 %__n, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__last) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__n.addr = alloca i32, align 4
  %__result = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %agg.tmp2 = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %1 = load i32* %__n.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE11_M_allocateEj(%"struct.std::_Vector_base.12"* %0, i32 %1)
  store %"class.boost::detail::stored_edge_property"* %call, %"class.boost::detail::stored_edge_property"** %__result, align 4
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %agg.tmp to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %agg.tmp2 to i8*
  %5 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false)
  %6 = load %"class.boost::detail::stored_edge_property"** %__result, align 4
  %7 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call3 = invoke %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %7)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %call5 = invoke %"class.boost::detail::stored_edge_property"* @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEPS6_S6_ET0_T_SF_SE_RSaIT1_E(%"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp2, %"class.boost::detail::stored_edge_property"* %6, %"class.std::allocator.13"* %call3)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont
  %8 = load %"class.boost::detail::stored_edge_property"** %__result, align 4
  ret %"class.boost::detail::stored_edge_property"* %8

lpad:                                             ; preds = %invoke.cont, %entry
  %9 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %10 = extractvalue { i8*, i32 } %9, 0
  store i8* %10, i8** %exn.slot
  %11 = extractvalue { i8*, i32 } %9, 1
  store i32 %11, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %12 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %13 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %14 = load %"class.boost::detail::stored_edge_property"** %__result, align 4
  %15 = load i32* %__n.addr, align 4
  invoke void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE13_M_deallocateEPS4_j(%"struct.std::_Vector_base.12"* %13, %"class.boost::detail::stored_edge_property"* %14, i32 %15)
          to label %invoke.cont7 unwind label %lpad6

invoke.cont7:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad6

lpad6:                                            ; preds = %invoke.cont7, %catch
  %16 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %17 = extractvalue { i8*, i32 } %16, 0
  store i8* %17, i8** %exn.slot
  %18 = extractvalue { i8*, i32 } %16, 1
  store i32 %18, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont8 unwind label %terminate.lpad

invoke.cont8:                                     ; preds = %lpad6
  br label %eh.resume

try.cont:                                         ; No predecessors!
  call void @llvm.trap()
  unreachable

eh.resume:                                        ; preds = %invoke.cont8
  %exn9 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn9, 0
  %lpad.val10 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val10

terminate.lpad:                                   ; preds = %lpad6
  %19 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont7
  unreachable
}

define linkonce_odr void @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.48"* noalias sret %agg.result, %"class.std::vector.11"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %ref.tmp = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"class.boost::detail::stored_edge_property"** %_M_start, align 4
  store %"class.boost::detail::stored_edge_property"* %1, %"class.boost::detail::stored_edge_property"** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC1ERKS7_(%"class.__gnu_cxx::__normal_iterator.48"* %agg.result, %"class.boost::detail::stored_edge_property"** %ref.tmp)
  ret void
}

define linkonce_odr void @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator.48"* noalias sret %agg.result, %"class.std::vector.11"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %ref.tmp = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %0, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl, i32 0, i32 1
  %1 = load %"class.boost::detail::stored_edge_property"** %_M_finish, align 4
  store %"class.boost::detail::stored_edge_property"* %1, %"class.boost::detail::stored_edge_property"** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC1ERKS7_(%"class.__gnu_cxx::__normal_iterator.48"* %agg.result, %"class.boost::detail::stored_edge_property"** %ref.tmp)
  ret void
}

define linkonce_odr void @_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEES6_EvT_SC_RSaIT0_E(%"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %__last, %"class.std::allocator.13"*) inlinehint {
entry:
  %.addr = alloca %"class.std::allocator.13"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  store %"class.std::allocator.13"* %0, %"class.std::allocator.13"** %.addr, align 4
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %agg.tmp to i8*
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %agg.tmp1 to i8*
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 4, i32 4, i1 false)
  call void @_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEEvT_SC_(%"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %agg.tmp1)
  ret void
}

define linkonce_odr void @_ZSt4copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEENS1_IPS6_SB_EEET0_T_SG_SF_(%"class.__gnu_cxx::__normal_iterator.29"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__last, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %__result) inlinehint {
entry:
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %agg.tmp2 = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %agg.tmp3 = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %agg.tmp4 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %agg.tmp1 to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  call void @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEENSt11_Miter_baseIT_E13iterator_typeESE_(%"class.__gnu_cxx::__normal_iterator.48"* sret %agg.tmp, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp1)
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %agg.tmp3 to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  call void @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEENSt11_Miter_baseIT_E13iterator_typeESE_(%"class.__gnu_cxx::__normal_iterator.48"* sret %agg.tmp2, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp3)
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %agg.tmp4 to i8*
  %5 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %__result to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false)
  call void @_ZSt14__copy_move_a2ILb0EN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEENS1_IPS6_SB_EEET1_T0_SG_SF_(%"class.__gnu_cxx::__normal_iterator.29"* sret %agg.result, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp2, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %agg.tmp4)
  ret void
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt4copyIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET0_T_S7_S6_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZSt12__miter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEENSt11_Miter_baseIT_E13iterator_typeES7_(%"class.boost::detail::stored_edge_property"* %0)
  %1 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_property"* @_ZSt12__miter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEENSt11_Miter_baseIT_E13iterator_typeES7_(%"class.boost::detail::stored_edge_property"* %1)
  %2 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %call2 = call %"class.boost::detail::stored_edge_property"* @_ZSt14__copy_move_a2ILb0EPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET1_T0_S7_S6_(%"class.boost::detail::stored_edge_property"* %call, %"class.boost::detail::stored_edge_property"* %call1, %"class.boost::detail::stored_edge_property"* %2)
  ret %"class.boost::detail::stored_edge_property"* %call2
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt14__copy_move_a2ILb0EPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET1_T0_S7_S6_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZSt12__niter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEENSt11_Niter_baseIT_E13iterator_typeES7_(%"class.boost::detail::stored_edge_property"* %0)
  %1 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_property"* @_ZSt12__niter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEENSt11_Niter_baseIT_E13iterator_typeES7_(%"class.boost::detail::stored_edge_property"* %1)
  %2 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %call2 = call %"class.boost::detail::stored_edge_property"* @_ZSt12__niter_baseIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEENSt11_Niter_baseIT_E13iterator_typeES7_(%"class.boost::detail::stored_edge_property"* %2)
  %call3 = call %"class.boost::detail::stored_edge_property"* @_ZSt13__copy_move_aILb0EPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET1_T0_S7_S6_(%"class.boost::detail::stored_edge_property"* %call, %"class.boost::detail::stored_edge_property"* %call1, %"class.boost::detail::stored_edge_property"* %call2)
  ret %"class.boost::detail::stored_edge_property"* %call3
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt13__copy_move_aILb0EPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES5_ET1_T0_S7_S6_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__simple = alloca i8, align 1
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  store i8 0, i8* %__simple, align 1
  %0 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPN5boost6detail20stored_edge_propertyIjNS3_11no_propertyEEES8_EET0_T_SA_S9_(%"class.boost::detail::stored_edge_property"* %0, %"class.boost::detail::stored_edge_property"* %1, %"class.boost::detail::stored_edge_property"* %2)
  ret %"class.boost::detail::stored_edge_property"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPN5boost6detail20stored_edge_propertyIjNS3_11no_propertyEEES8_EET0_T_SA_S9_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result) align 2 {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__n = alloca i32, align 4
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %0 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %1 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  store i32 %sub.ptr.div, i32* %__n, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %2 = load i32* %__n, align 4
  %cmp = icmp sgt i32 %2, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %4 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEaSERKS3_(%"class.boost::detail::stored_edge_property"* %3, %"class.boost::detail::stored_edge_property"* %4)
  %5 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %5, i32 1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %6 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %incdec.ptr1 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %6, i32 1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr1, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %7 = load i32* %__n, align 4
  %dec = add nsw i32 %7, -1
  store i32 %dec, i32* %__n, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %8 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  ret %"class.boost::detail::stored_edge_property"* %8
}

define linkonce_odr void @_ZSt14__copy_move_a2ILb0EN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEENS1_IPS6_SB_EEET1_T0_SG_SF_(%"class.__gnu_cxx::__normal_iterator.29"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__last, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %__result) inlinehint {
entry:
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %agg.tmp3 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  %ref.tmp = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %call = call %"class.boost::detail::stored_edge_property"* @_ZSt12__niter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEENSt11_Niter_baseIT_E13iterator_typeESE_(%"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp)
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %agg.tmp1 to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %call2 = call %"class.boost::detail::stored_edge_property"* @_ZSt12__niter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEENSt11_Niter_baseIT_E13iterator_typeESE_(%"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp1)
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %agg.tmp3 to i8*
  %5 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %__result to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %4, i8* %5, i32 4, i32 4, i1 false)
  %call4 = call %"class.boost::detail::stored_edge_property"* @_ZSt12__niter_baseIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEENSt11_Niter_baseIT_E13iterator_typeESD_(%"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %agg.tmp3)
  %call5 = call %"class.boost::detail::stored_edge_property"* @_ZSt13__copy_move_aILb0EPKN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEPS4_ET1_T0_S9_S8_(%"class.boost::detail::stored_edge_property"* %call, %"class.boost::detail::stored_edge_property"* %call2, %"class.boost::detail::stored_edge_property"* %call4)
  store %"class.boost::detail::stored_edge_property"* %call5, %"class.boost::detail::stored_edge_property"** %ref.tmp, align 4
  call void @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC1ERKS6_(%"class.__gnu_cxx::__normal_iterator.29"* %agg.result, %"class.boost::detail::stored_edge_property"** %ref.tmp)
  ret void
}

define linkonce_odr void @_ZSt12__miter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEENSt11_Miter_baseIT_E13iterator_typeESE_(%"class.__gnu_cxx::__normal_iterator.48"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__it) inlinehint {
entry:
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %__it to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  call void @_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEELb0EE7_S_baseESC_(%"class.__gnu_cxx::__normal_iterator.48"* sret %agg.result, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp)
  ret void
}

define linkonce_odr void @_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEELb0EE7_S_baseESC_(%"class.__gnu_cxx::__normal_iterator.48"* noalias sret %agg.result, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__it) nounwind align 2 {
entry:
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %agg.result to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %__it to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  ret void
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt13__copy_move_aILb0EPKN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEPS4_ET1_T0_S9_S8_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__simple = alloca i8, align 1
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  store i8 0, i8* %__simple, align 1
  %0 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %2 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKN5boost6detail20stored_edge_propertyIjNS3_11no_propertyEEEPS7_EET0_T_SC_SB_(%"class.boost::detail::stored_edge_property"* %0, %"class.boost::detail::stored_edge_property"* %1, %"class.boost::detail::stored_edge_property"* %2)
  ret %"class.boost::detail::stored_edge_property"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt12__niter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEENSt11_Niter_baseIT_E13iterator_typeESE_(%"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__it) inlinehint {
entry:
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %__it to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %call = call %"class.boost::detail::stored_edge_property"* @_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEELb1EE7_S_baseESC_(%"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp)
  ret %"class.boost::detail::stored_edge_property"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt12__niter_baseIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEENSt11_Niter_baseIT_E13iterator_typeESD_(%"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %__it) inlinehint {
entry:
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %__it to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %call = call %"class.boost::detail::stored_edge_property"* @_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEELb1EE7_S_baseESB_(%"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %agg.tmp)
  ret %"class.boost::detail::stored_edge_property"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEELb1EE7_S_baseESB_(%"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %__it) nounwind align 2 {
entry:
  %call = call %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.29"* %__it)
  %0 = load %"class.boost::detail::stored_edge_property"** %call
  ret %"class.boost::detail::stored_edge_property"* %0
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZNSt10_Iter_baseIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEELb1EE7_S_baseESC_(%"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__it) align 2 {
entry:
  %call = call %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.48"* %__it)
  %0 = load %"class.boost::detail::stored_edge_property"** %call
  ret %"class.boost::detail::stored_edge_property"* %0
}

define linkonce_odr %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.48"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.48"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.48"* %this, %"class.__gnu_cxx::__normal_iterator.48"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.48"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.48"* %this1, i32 0, i32 0
  ret %"class.boost::detail::stored_edge_property"** %_M_current
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZNSt11__copy_moveILb0ELb0ESt26random_access_iterator_tagE8__copy_mIPKN5boost6detail20stored_edge_propertyIjNS3_11no_propertyEEEPS7_EET0_T_SC_SB_(%"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"* %__result) align 2 {
entry:
  %__first.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__last.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__n = alloca i32, align 4
  store %"class.boost::detail::stored_edge_property"* %__first, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__last, %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__last.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %sub.ptr.lhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %0 to i32
  %sub.ptr.rhs.cast = ptrtoint %"class.boost::detail::stored_edge_property"* %1 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 8
  store i32 %sub.ptr.div, i32* %__n, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %2 = load i32* %__n, align 4
  %cmp = icmp sgt i32 %2, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %4 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEaSERKS3_(%"class.boost::detail::stored_edge_property"* %3, %"class.boost::detail::stored_edge_property"* %4)
  %5 = load %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %5, i32 1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr, %"class.boost::detail::stored_edge_property"** %__first.addr, align 4
  %6 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %incdec.ptr1 = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %6, i32 1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr1, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %7 = load i32* %__n, align 4
  %dec = add nsw i32 %7, -1
  store i32 %dec, i32* %__n, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %8 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  ret %"class.boost::detail::stored_edge_property"* %8
}

define linkonce_odr void @_ZSt8_DestroyIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEEvT_SC_(%"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %__last) inlinehint {
entry:
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.29", align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %agg.tmp1 to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.29"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  call void @_ZNSt12_Destroy_auxILb0EE9__destroyIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS4_11no_propertyEEESt6vectorIS8_SaIS8_EEEEEEvT_SE_(%"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %agg.tmp1)
  ret void
}

define linkonce_odr void @_ZNSt12_Destroy_auxILb0EE9__destroyIN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS4_11no_propertyEEESt6vectorIS8_SaIS8_EEEEEEvT_SE_(%"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.29"* byval align 4 %__last) align 2 {
entry:
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %call = call zeroext i1 @_ZN9__gnu_cxxneIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESF_(%"class.__gnu_cxx::__normal_iterator.29"* %__first, %"class.__gnu_cxx::__normal_iterator.29"* %__last)
  br i1 %call, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %call1 = call %"class.boost::detail::stored_edge_property"* @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.29"* %__first)
  %call2 = call %"class.boost::detail::stored_edge_property"* @_ZSt11__addressofIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEEPT_RS5_(%"class.boost::detail::stored_edge_property"* %call1)
  call void @_ZSt8_DestroyIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEEvPT_(%"class.boost::detail::stored_edge_property"* %call2)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %call3 = call %"class.__gnu_cxx::__normal_iterator.29"* @_ZN9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator.29"* %__first)
  br label %for.cond

for.end:                                          ; preds = %for.cond
  ret void
}

define linkonce_odr zeroext i1 @_ZN9__gnu_cxxneIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESF_(%"class.__gnu_cxx::__normal_iterator.29"* %__lhs, %"class.__gnu_cxx::__normal_iterator.29"* %__rhs) nounwind inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.29"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %__lhs, %"class.__gnu_cxx::__normal_iterator.29"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.29"* %__rhs, %"class.__gnu_cxx::__normal_iterator.29"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.29"** %__lhs.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.29"* %0)
  %1 = load %"class.boost::detail::stored_edge_property"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator.29"** %__rhs.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.29"* %2)
  %3 = load %"class.boost::detail::stored_edge_property"** %call1
  %cmp = icmp ne %"class.boost::detail::stored_edge_property"* %1, %3
  ret i1 %cmp
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC1ERKS7_(%"class.__gnu_cxx::__normal_iterator.48"* %this, %"class.boost::detail::stored_edge_property"** %__i) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.48"*, align 4
  %__i.addr = alloca %"class.boost::detail::stored_edge_property"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.48"* %this, %"class.__gnu_cxx::__normal_iterator.48"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_property"** %__i, %"class.boost::detail::stored_edge_property"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.48"** %this.addr
  %0 = load %"class.boost::detail::stored_edge_property"*** %__i.addr
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC2ERKS7_(%"class.__gnu_cxx::__normal_iterator.48"* %this1, %"class.boost::detail::stored_edge_property"** %0)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEC2ERKS7_(%"class.__gnu_cxx::__normal_iterator.48"* %this, %"class.boost::detail::stored_edge_property"** %__i) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.48"*, align 4
  %__i.addr = alloca %"class.boost::detail::stored_edge_property"**, align 4
  store %"class.__gnu_cxx::__normal_iterator.48"* %this, %"class.__gnu_cxx::__normal_iterator.48"** %this.addr, align 4
  store %"class.boost::detail::stored_edge_property"** %__i, %"class.boost::detail::stored_edge_property"*** %__i.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.48"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.48"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_property"*** %__i.addr, align 4
  %1 = load %"class.boost::detail::stored_edge_property"** %0, align 4
  store %"class.boost::detail::stored_edge_property"* %1, %"class.boost::detail::stored_edge_property"** %_M_current, align 4
  ret void
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEPS6_S6_ET0_T_SF_SE_RSaIT1_E(%"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__last, %"class.boost::detail::stored_edge_property"* %__result, %"class.std::allocator.13"*) inlinehint {
entry:
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %.addr = alloca %"class.std::allocator.13"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  store %"class.std::allocator.13"* %0, %"class.std::allocator.13"** %.addr, align 4
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %agg.tmp to i8*
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %1, i8* %2, i32 4, i32 4, i1 false)
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %agg.tmp1 to i8*
  %4 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %3, i8* %4, i32 4, i32 4, i1 false)
  %5 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEPS6_ET0_T_SF_SE_(%"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp1, %"class.boost::detail::stored_edge_property"* %5)
  ret %"class.boost::detail::stored_edge_property"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZSt18uninitialized_copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEPS6_ET0_T_SF_SE_(%"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__last, %"class.boost::detail::stored_edge_property"* %__result) inlinehint {
entry:
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %agg.tmp1 = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %0 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %agg.tmp to i8*
  %1 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %__first to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %0, i8* %1, i32 4, i32 4, i1 false)
  %2 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %agg.tmp1 to i8*
  %3 = bitcast %"class.__gnu_cxx::__normal_iterator.48"* %__last to i8*
  call void @llvm.memcpy.p0i8.p0i8.i32(i8* %2, i8* %3, i32 4, i32 4, i1 false)
  %4 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS4_11no_propertyEEESt6vectorIS8_SaIS8_EEEEPS8_EET0_T_SH_SG_(%"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp1, %"class.boost::detail::stored_edge_property"* %4)
  ret %"class.boost::detail::stored_edge_property"* %call
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS4_11no_propertyEEESt6vectorIS8_SaIS8_EEEEPS8_EET0_T_SH_SG_(%"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__first, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %__last, %"class.boost::detail::stored_edge_property"* %__result) align 2 {
entry:
  %__result.addr = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %__cur = alloca %"class.boost::detail::stored_edge_property"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::detail::stored_edge_property"* %__result, %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %0 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  store %"class.boost::detail::stored_edge_property"* %0, %"class.boost::detail::stored_edge_property"** %__cur, align 4
  br label %for.cond

for.cond:                                         ; preds = %invoke.cont6, %entry
  %call = invoke zeroext i1 @_ZN9__gnu_cxxneIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(%"class.__gnu_cxx::__normal_iterator.48"* %__first, %"class.__gnu_cxx::__normal_iterator.48"* %__last)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %for.cond
  br i1 %call, label %for.body, label %for.end

for.body:                                         ; preds = %invoke.cont
  %1 = load %"class.boost::detail::stored_edge_property"** %__cur, align 4
  %call2 = invoke %"class.boost::detail::stored_edge_property"* @_ZSt11__addressofIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEEPT_RS5_(%"class.boost::detail::stored_edge_property"* %1)
          to label %invoke.cont1 unwind label %lpad

invoke.cont1:                                     ; preds = %for.body
  %call4 = invoke %"class.boost::detail::stored_edge_property"* @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.48"* %__first)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont1
  invoke void @_ZSt10_ConstructIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEES4_EvPT_RKT0_(%"class.boost::detail::stored_edge_property"* %call2, %"class.boost::detail::stored_edge_property"* %call4)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont3
  br label %for.inc

for.inc:                                          ; preds = %invoke.cont5
  %call7 = invoke %"class.__gnu_cxx::__normal_iterator.48"* @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator.48"* %__first)
          to label %invoke.cont6 unwind label %lpad

invoke.cont6:                                     ; preds = %for.inc
  %2 = load %"class.boost::detail::stored_edge_property"** %__cur, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %2, i32 1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr, %"class.boost::detail::stored_edge_property"** %__cur, align 4
  br label %for.cond

lpad:                                             ; preds = %for.inc, %invoke.cont3, %invoke.cont1, %for.body, %for.cond
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %6 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %7 = load %"class.boost::detail::stored_edge_property"** %__result.addr, align 4
  %8 = load %"class.boost::detail::stored_edge_property"** %__cur, align 4
  invoke void @_ZSt8_DestroyIPN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEEEvT_S6_(%"class.boost::detail::stored_edge_property"* %7, %"class.boost::detail::stored_edge_property"* %8)
          to label %invoke.cont9 unwind label %lpad8

invoke.cont9:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad8

for.end:                                          ; preds = %invoke.cont
  %9 = load %"class.boost::detail::stored_edge_property"** %__cur, align 4
  ret %"class.boost::detail::stored_edge_property"* %9

lpad8:                                            ; preds = %invoke.cont9, %catch
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %11 = extractvalue { i8*, i32 } %10, 0
  store i8* %11, i8** %exn.slot
  %12 = extractvalue { i8*, i32 } %10, 1
  store i32 %12, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont10 unwind label %terminate.lpad

invoke.cont10:                                    ; preds = %lpad8
  br label %eh.resume

try.cont:                                         ; No predecessors!
  call void @llvm.trap()
  unreachable

eh.resume:                                        ; preds = %invoke.cont10
  %exn11 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn11, 0
  %lpad.val12 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val12

terminate.lpad:                                   ; preds = %lpad8
  %13 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont9
  unreachable
}

define linkonce_odr zeroext i1 @_ZN9__gnu_cxxneIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_(%"class.__gnu_cxx::__normal_iterator.48"* %__lhs, %"class.__gnu_cxx::__normal_iterator.48"* %__rhs) nounwind inlinehint {
entry:
  %__lhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.48"*, align 4
  %__rhs.addr = alloca %"class.__gnu_cxx::__normal_iterator.48"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.48"* %__lhs, %"class.__gnu_cxx::__normal_iterator.48"** %__lhs.addr, align 4
  store %"class.__gnu_cxx::__normal_iterator.48"* %__rhs, %"class.__gnu_cxx::__normal_iterator.48"** %__rhs.addr, align 4
  %0 = load %"class.__gnu_cxx::__normal_iterator.48"** %__lhs.addr, align 4
  %call = call %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.48"* %0)
  %1 = load %"class.boost::detail::stored_edge_property"** %call
  %2 = load %"class.__gnu_cxx::__normal_iterator.48"** %__rhs.addr, align 4
  %call1 = call %"class.boost::detail::stored_edge_property"** @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEE4baseEv(%"class.__gnu_cxx::__normal_iterator.48"* %2)
  %3 = load %"class.boost::detail::stored_edge_property"** %call1
  %cmp = icmp ne %"class.boost::detail::stored_edge_property"* %1, %3
  ret i1 %cmp
}

define linkonce_odr %"class.boost::detail::stored_edge_property"* @_ZNK9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEdeEv(%"class.__gnu_cxx::__normal_iterator.48"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.48"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.48"* %this, %"class.__gnu_cxx::__normal_iterator.48"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.48"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.48"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_property"** %_M_current, align 4
  ret %"class.boost::detail::stored_edge_property"* %0
}

define linkonce_odr %"class.__gnu_cxx::__normal_iterator.48"* @_ZN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEESt6vectorIS5_SaIS5_EEEppEv(%"class.__gnu_cxx::__normal_iterator.48"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::__normal_iterator.48"*, align 4
  store %"class.__gnu_cxx::__normal_iterator.48"* %this, %"class.__gnu_cxx::__normal_iterator.48"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::__normal_iterator.48"** %this.addr
  %_M_current = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.48"* %this1, i32 0, i32 0
  %0 = load %"class.boost::detail::stored_edge_property"** %_M_current, align 4
  %incdec.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %0, i32 1
  store %"class.boost::detail::stored_edge_property"* %incdec.ptr, %"class.boost::detail::stored_edge_property"** %_M_current, align 4
  ret %"class.__gnu_cxx::__normal_iterator.48"* %this1
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt23__copy_move_backward_a2ILb0EPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_ET1_T0_SE_SD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__niter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEENSt11_Niter_baseIT_E13iterator_typeESE_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0)
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %call1 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__niter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEENSt11_Niter_baseIT_E13iterator_typeESE_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1)
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %call2 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__niter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEENSt11_Niter_baseIT_E13iterator_typeESE_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  %call3 = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__copy_move_backward_aILb0EPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_ET1_T0_SE_SD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call2)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call3
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt12__miter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEENSt11_Miter_baseIT_E13iterator_typeESE_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__it) nounwind inlinehint {
entry:
  %__it.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__it, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__it.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__it.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt10_Iter_baseIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexELb0EE7_S_baseESC_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__copy_move_backward_aILb0EPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_ET1_T0_SE_SD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__simple = alloca i8, align 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  store i8 0, i8* %__simple, align 1
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bIPN5boost6detail12adj_list_genINS3_14adjacency_listINS3_4vecSES7_NS3_9directedSENS3_11no_propertyES9_S9_NS3_5listSEEES7_S7_S8_S9_S9_S9_SA_E6config13stored_vertexESF_EET0_T_SH_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt20__copy_move_backwardILb0ELb0ESt26random_access_iterator_tagE13__copy_move_bIPN5boost6detail12adj_list_genINS3_14adjacency_listINS3_4vecSES7_NS3_9directedSENS3_11no_propertyES9_S9_NS3_5listSEEES7_S7_S8_S9_S9_S9_SA_E6config13stored_vertexESF_EET0_T_SH_SG_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result) align 2 {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__n = alloca i32, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %sub.ptr.lhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 16
  store i32 %sub.ptr.div, i32* %__n, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %2 = load i32* %__n, align 4
  %cmp = icmp sgt i32 %2, 0
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %incdec.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3, i32 -1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %incdec.ptr1 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %4, i32 -1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexaSERKSA_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr1)
  br label %for.inc

for.inc:                                          ; preds = %for.body
  %5 = load i32* %__n, align 4
  %dec = add nsw i32 %5, -1
  store i32 %dec, i32* %__n, align 4
  br label %for.cond

for.end:                                          ; preds = %for.cond
  %6 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %6
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt22__uninitialized_copy_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_SB_ET0_T_SE_SD_RSaIT1_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"class.std::allocator.0"*) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca %"class.std::allocator.0"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  store %"class.std::allocator.0"* %0, %"class.std::allocator.0"** %.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt18uninitialized_copyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_ET0_T_SE_SD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt18uninitialized_copyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESC_ET0_T_SE_SD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result) inlinehint {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %call = call %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN5boost6detail12adj_list_genINS2_14adjacency_listINS2_4vecSES6_NS2_9directedSENS2_11no_propertyES8_S8_NS2_5listSEEES6_S6_S7_S8_S8_S8_S9_E6config13stored_vertexESE_EET0_T_SG_SF_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2)
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call
}

define linkonce_odr %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPN5boost6detail12adj_list_genINS2_14adjacency_listINS2_4vecSES6_NS2_9directedSENS2_11no_propertyES8_S8_NS2_5listSEEES6_S6_S7_S8_S8_S8_S9_E6config13stored_vertexESE_EET0_T_SG_SF_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result) align 2 {
entry:
  %__first.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__last.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__result.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__cur = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__first, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__last, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__result, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  br label %for.cond

for.cond:                                         ; preds = %for.inc, %entry
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__last.addr, align 4
  %cmp = icmp ne %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1, %2
  br i1 %cmp, label %for.body, label %for.end

for.body:                                         ; preds = %for.cond
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  %call = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZSt11__addressofIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEEPT_RSC_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %for.body
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  invoke void @_ZSt10_ConstructIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EvPT_RKT0_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %4)
          to label %invoke.cont1 unwind label %lpad

invoke.cont1:                                     ; preds = %invoke.cont
  br label %for.inc

for.inc:                                          ; preds = %invoke.cont1
  %5 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %incdec.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %5, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__first.addr, align 4
  %6 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  %incdec.ptr2 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %6, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %incdec.ptr2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  br label %for.cond

lpad:                                             ; preds = %invoke.cont, %for.body
  %7 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  %8 = extractvalue { i8*, i32 } %7, 0
  store i8* %8, i8** %exn.slot
  %9 = extractvalue { i8*, i32 } %7, 1
  store i32 %9, i32* %ehselector.slot
  br label %catch

catch:                                            ; preds = %lpad
  %exn = load i8** %exn.slot
  %10 = call i8* @__cxa_begin_catch(i8* %exn) nounwind
  %11 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__result.addr, align 4
  %12 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  invoke void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEEvT_SD_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %11, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %12)
          to label %invoke.cont4 unwind label %lpad3

invoke.cont4:                                     ; preds = %catch
  invoke void @__cxa_rethrow() noreturn
          to label %unreachable unwind label %lpad3

for.end:                                          ; preds = %for.cond
  %13 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__cur, align 4
  ret %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %13

lpad3:                                            ; preds = %invoke.cont4, %catch
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %15 = extractvalue { i8*, i32 } %14, 0
  store i8* %15, i8** %exn.slot
  %16 = extractvalue { i8*, i32 } %14, 1
  store i32 %16, i32* %ehselector.slot
  invoke void @__cxa_end_catch()
          to label %invoke.cont5 unwind label %terminate.lpad

invoke.cont5:                                     ; preds = %lpad3
  br label %eh.resume

try.cont:                                         ; No predecessors!
  call void @llvm.trap()
  unreachable

eh.resume:                                        ; preds = %invoke.cont5
  %exn6 = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn6, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7

terminate.lpad:                                   ; preds = %lpad3
  %17 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable

unreachable:                                      ; preds = %invoke.cont4
  unreachable
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexC2ERKSA_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %this.addr
  %1 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %this1 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %.addr, align 4
  %3 = bitcast %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2 to %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*
  call void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config18rand_stored_vertexC2ERKSA_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %3)
  ret void
}

define linkonce_odr void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config18rand_stored_vertexC2ERKSA_(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*, align 4
  %.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"*, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %.addr, align 4
  %this1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %this.addr
  %m_out_edges = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 0
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %.addr, align 4
  %m_out_edges2 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %1, i32 0, i32 0
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEC1ERKS6_(%"class.std::vector.11"* %m_out_edges, %"class.std::vector.11"* %m_out_edges2)
  %m_property = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %this1, i32 0, i32 1
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"** %.addr, align 4
  %m_property3 = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::rand_stored_vertex"* %2, i32 0, i32 1
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEC1ERKS6_(%"class.std::vector.11"* %this, %"class.std::vector.11"* %__x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__x.addr = alloca %"class.std::vector.11"*, align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store %"class.std::vector.11"* %__x, %"class.std::vector.11"** %__x.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = load %"class.std::vector.11"** %__x.addr
  call void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEC2ERKS6_(%"class.std::vector.11"* %this1, %"class.std::vector.11"* %0)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEC2ERKS6_(%"class.std::vector.11"* %this, %"class.std::vector.11"* %__x) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector.11"*, align 4
  %__x.addr = alloca %"class.std::vector.11"*, align 4
  %agg.tmp = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %agg.tmp3 = alloca %"class.__gnu_cxx::__normal_iterator.48", align 4
  store %"class.std::vector.11"* %this, %"class.std::vector.11"** %this.addr, align 4
  store %"class.std::vector.11"* %__x, %"class.std::vector.11"** %__x.addr, align 4
  %this1 = load %"class.std::vector.11"** %this.addr
  %0 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %1 = load %"class.std::vector.11"** %__x.addr, align 4
  %call = call i32 @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE4sizeEv(%"class.std::vector.11"* %1)
  %2 = load %"class.std::vector.11"** %__x.addr, align 4
  %3 = bitcast %"class.std::vector.11"* %2 to %"struct.std::_Vector_base.12"*
  %call2 = call %"class.std::allocator.13"* @_ZNKSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %3)
  call void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEC2EjRKS5_(%"struct.std::_Vector_base.12"* %0, i32 %call, %"class.std::allocator.13"* %call2)
  %4 = load %"class.std::vector.11"** %__x.addr, align 4
  invoke void @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE5beginEv(%"class.__gnu_cxx::__normal_iterator.48"* sret %agg.tmp, %"class.std::vector.11"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %5 = load %"class.std::vector.11"** %__x.addr, align 4
  invoke void @_ZNKSt6vectorIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE3endEv(%"class.__gnu_cxx::__normal_iterator.48"* sret %agg.tmp3, %"class.std::vector.11"* %5)
          to label %invoke.cont4 unwind label %lpad

invoke.cont4:                                     ; preds = %invoke.cont
  %6 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %6, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %7 = load %"class.boost::detail::stored_edge_property"** %_M_start, align 4
  %8 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %call6 = invoke %"class.std::allocator.13"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base.12"* %8)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont4
  %call8 = invoke %"class.boost::detail::stored_edge_property"* @_ZSt22__uninitialized_copy_aIN9__gnu_cxx17__normal_iteratorIPKN5boost6detail20stored_edge_propertyIjNS2_11no_propertyEEESt6vectorIS6_SaIS6_EEEEPS6_S6_ET0_T_SF_SE_RSaIT1_E(%"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp, %"class.__gnu_cxx::__normal_iterator.48"* byval align 4 %agg.tmp3, %"class.boost::detail::stored_edge_property"* %7, %"class.std::allocator.13"* %call6)
          to label %invoke.cont7 unwind label %lpad

invoke.cont7:                                     ; preds = %invoke.cont5
  %9 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  %_M_impl9 = getelementptr inbounds %"struct.std::_Vector_base.12"* %9, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl9, i32 0, i32 1
  store %"class.boost::detail::stored_edge_property"* %call8, %"class.boost::detail::stored_edge_property"** %_M_finish, align 4
  ret void

lpad:                                             ; preds = %invoke.cont5, %invoke.cont4, %invoke.cont, %entry
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %11 = extractvalue { i8*, i32 } %10, 0
  store i8* %11, i8** %exn.slot
  %12 = extractvalue { i8*, i32 } %10, 1
  store i32 %12, i32* %ehselector.slot
  %13 = bitcast %"class.std::vector.11"* %this1 to %"struct.std::_Vector_base.12"*
  invoke void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EED2Ev(%"struct.std::_Vector_base.12"* %13)
          to label %invoke.cont10 unwind label %terminate.lpad

invoke.cont10:                                    ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont10
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val11 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val11

terminate.lpad:                                   ; preds = %lpad
  %14 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EEC2EjRKS5_(%"struct.std::_Vector_base.12"* %this, i32 %__n, %"class.std::allocator.13"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base.12"*, align 4
  %__n.addr = alloca i32, align 4
  %__a.addr = alloca %"class.std::allocator.13"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base.12"* %this, %"struct.std::_Vector_base.12"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"class.std::allocator.13"* %__a, %"class.std::allocator.13"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base.12"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %0 = load %"class.std::allocator.13"** %__a.addr, align 4
  call void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implC1ERKS5_(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl, %"class.std::allocator.13"* %0)
  %1 = load i32* %__n.addr, align 4
  %call = invoke %"class.boost::detail::stored_edge_property"* @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE11_M_allocateEj(%"struct.std::_Vector_base.12"* %this1, i32 %1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  store %"class.boost::detail::stored_edge_property"* %call, %"class.boost::detail::stored_edge_property"** %_M_start, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load %"class.boost::detail::stored_edge_property"** %_M_start4, align 4
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl5, i32 0, i32 1
  store %"class.boost::detail::stored_edge_property"* %2, %"class.boost::detail::stored_edge_property"** %_M_finish, align 4
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_start7 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl6, i32 0, i32 0
  %3 = load %"class.boost::detail::stored_edge_property"** %_M_start7, align 4
  %4 = load i32* %__n.addr, align 4
  %add.ptr = getelementptr inbounds %"class.boost::detail::stored_edge_property"* %3, i32 %4
  %_M_impl8 = getelementptr inbounds %"struct.std::_Vector_base.12"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl8, i32 0, i32 2
  store %"class.boost::detail::stored_edge_property"* %add.ptr, %"class.boost::detail::stored_edge_property"** %_M_end_of_storage, align 4
  ret void

lpad:                                             ; preds = %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  call void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %_M_impl) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val9 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val9
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implC1ERKS5_(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this, %"class.std::allocator.13"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.13"*, align 4
  store %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.13"* %__a, %"class.std::allocator.13"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"** %this.addr
  %0 = load %"class.std::allocator.13"** %__a.addr
  call void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implC2ERKS5_(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this1, %"class.std::allocator.13"* %0)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail20stored_edge_propertyIjNS0_11no_propertyEEESaIS4_EE12_Vector_implC2ERKS5_(%"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this, %"class.std::allocator.13"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.13"*, align 4
  store %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.13"* %__a, %"class.std::allocator.13"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this1 to %"class.std::allocator.13"*
  %1 = load %"class.std::allocator.13"** %__a.addr, align 4
  call void @_ZNSaIN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEEEC2ERKS4_(%"class.std::allocator.13"* %0, %"class.std::allocator.13"* %1) nounwind
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this1, i32 0, i32 0
  store %"class.boost::detail::stored_edge_property"* null, %"class.boost::detail::stored_edge_property"** %_M_start, align 4
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this1, i32 0, i32 1
  store %"class.boost::detail::stored_edge_property"* null, %"class.boost::detail::stored_edge_property"** %_M_finish, align 4
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::stored_edge_property<unsigned int, boost::no_property>, std::allocator<boost::detail::stored_edge_property<unsigned int, boost::no_property> > >::_Vector_impl"* %this1, i32 0, i32 2
  store %"class.boost::detail::stored_edge_property"* null, %"class.boost::detail::stored_edge_property"** %_M_end_of_storage, align 4
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail20stored_edge_propertyIjNS_11no_propertyEEEEC2ERKS4_(%"class.std::allocator.13"* %this, %"class.std::allocator.13"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.13"*, align 4
  %__a.addr = alloca %"class.std::allocator.13"*, align 4
  store %"class.std::allocator.13"* %this, %"class.std::allocator.13"** %this.addr, align 4
  store %"class.std::allocator.13"* %__a, %"class.std::allocator.13"** %__a.addr, align 4
  %this1 = load %"class.std::allocator.13"** %this.addr
  %0 = bitcast %"class.std::allocator.13"* %this1 to %"class.__gnu_cxx::new_allocator.14"*
  %1 = load %"class.std::allocator.13"** %__a.addr, align 4
  %2 = bitcast %"class.std::allocator.13"* %1 to %"class.__gnu_cxx::new_allocator.14"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEEC2ERKS6_(%"class.__gnu_cxx::new_allocator.14"* %0, %"class.__gnu_cxx::new_allocator.14"* %2) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail20stored_edge_propertyIjNS1_11no_propertyEEEEC2ERKS6_(%"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  %.addr = alloca %"class.__gnu_cxx::new_allocator.14"*, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %this, %"class.__gnu_cxx::new_allocator.14"** %this.addr, align 4
  store %"class.__gnu_cxx::new_allocator.14"* %0, %"class.__gnu_cxx::new_allocator.14"** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.14"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost14adjacency_listINS_4vecSES1_NS_9directedSENS_11no_propertyES3_S3_NS_5listSEEC2EjRKS3_(%"class.boost::adjacency_list"* %this, i32 %num_vertices, %"struct.boost::no_property"* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::adjacency_list"*, align 4
  %num_vertices.addr = alloca i32, align 4
  %p.addr = alloca %"struct.boost::no_property"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::adjacency_list"* %this, %"class.boost::adjacency_list"** %this.addr, align 4
  store i32 %num_vertices, i32* %num_vertices.addr, align 4
  store %"struct.boost::no_property"* %p, %"struct.boost::no_property"** %p.addr, align 4
  %this1 = load %"class.boost::adjacency_list"** %this.addr
  %0 = bitcast %"class.boost::adjacency_list"* %this1 to %"class.boost::vec_adj_list_impl"*
  %1 = load i32* %num_vertices.addr, align 4
  call void @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEC2Ej(%"class.boost::vec_adj_list_impl"* %0, i32 %1)
  %2 = bitcast %"class.boost::adjacency_list"* %this1 to %"struct.boost::graph::maybe_named_graph"*
  %m_property = getelementptr inbounds %"class.boost::adjacency_list"* %this1, i32 0, i32 1
  %call = invoke noalias i8* @_Znwj(i32 1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %3 = bitcast i8* %call to %"struct.boost::no_property"*
  %4 = load %"struct.boost::no_property"** %p.addr, align 4
  invoke void @_ZN5boost10scoped_ptrINS_11no_propertyEEC1EPS1_(%"class.boost::scoped_ptr"* %m_property, %"struct.boost::no_property"* %3)
          to label %invoke.cont2 unwind label %lpad

invoke.cont2:                                     ; preds = %invoke.cont
  ret void

lpad:                                             ; preds = %invoke.cont, %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  %8 = bitcast %"class.boost::adjacency_list"* %this1 to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEED2Ev(%"class.boost::vec_adj_list_impl"* %8)
          to label %invoke.cont3 unwind label %terminate.lpad

invoke.cont3:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont3
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val4 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val4

terminate.lpad:                                   ; preds = %lpad
  %9 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEEC2Ej(%"class.boost::vec_adj_list_impl"* %this, i32 %_num_vertices) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::vec_adj_list_impl"*, align 4
  %_num_vertices.addr = alloca i32, align 4
  %ref.tmp = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex", align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  %ref.tmp2 = alloca %"class.std::allocator.0", align 1
  store %"class.boost::vec_adj_list_impl"* %this, %"class.boost::vec_adj_list_impl"** %this.addr, align 4
  store i32 %_num_vertices, i32* %_num_vertices.addr, align 4
  %this1 = load %"class.boost::vec_adj_list_impl"** %this.addr
  %0 = bitcast %"class.boost::vec_adj_list_impl"* %this1 to %"struct.boost::adj_list_helper"*
  %m_edges = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 0
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EEC1Ev(%"class.std::list"* %m_edges)
  %m_vertices = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 1
  %1 = load i32* %_num_vertices.addr, align 4
  invoke void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexC1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %ref.tmp)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexEEC1Ev(%"class.std::allocator.0"* %ref.tmp2) nounwind
  invoke void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EEC1EjRKSB_RKSC_(%"class.std::vector"* %m_vertices, i32 %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %ref.tmp, %"class.std::allocator.0"* %ref.tmp2)
          to label %invoke.cont4 unwind label %lpad3

invoke.cont4:                                     ; preds = %invoke.cont
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexEED1Ev(%"class.std::allocator.0"* %ref.tmp2) nounwind
  invoke void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %ref.tmp)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont4
  ret void

lpad:                                             ; preds = %invoke.cont4, %entry
  %2 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %3 = extractvalue { i8*, i32 } %2, 0
  store i8* %3, i8** %exn.slot
  %4 = extractvalue { i8*, i32 } %2, 1
  store i32 %4, i32* %ehselector.slot
  br label %ehcleanup

lpad3:                                            ; preds = %invoke.cont
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexEED1Ev(%"class.std::allocator.0"* %ref.tmp2) nounwind
  invoke void @_ZN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexD1Ev(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %ref.tmp)
          to label %invoke.cont6 unwind label %terminate.lpad

invoke.cont6:                                     ; preds = %lpad3
  br label %ehcleanup

ehcleanup:                                        ; preds = %invoke.cont6, %lpad
  invoke void @_ZNSt4listIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EED1Ev(%"class.std::list"* %m_edges)
          to label %invoke.cont7 unwind label %terminate.lpad

invoke.cont7:                                     ; preds = %ehcleanup
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont7
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val8 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val8

terminate.lpad:                                   ; preds = %ehcleanup, %lpad3
  %8 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost10scoped_ptrINS_11no_propertyEEC1EPS1_(%"class.boost::scoped_ptr"* %this, %"struct.boost::no_property"* %p) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::scoped_ptr"*, align 4
  %p.addr = alloca %"struct.boost::no_property"*, align 4
  store %"class.boost::scoped_ptr"* %this, %"class.boost::scoped_ptr"** %this.addr, align 4
  store %"struct.boost::no_property"* %p, %"struct.boost::no_property"** %p.addr, align 4
  %this1 = load %"class.boost::scoped_ptr"** %this.addr
  %0 = load %"struct.boost::no_property"** %p.addr, align 4
  call void @_ZN5boost10scoped_ptrINS_11no_propertyEEC2EPS1_(%"class.boost::scoped_ptr"* %this1, %"struct.boost::no_property"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEED2Ev(%"class.boost::vec_adj_list_impl"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::vec_adj_list_impl"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::vec_adj_list_impl"* %this, %"class.boost::vec_adj_list_impl"** %this.addr, align 4
  %this1 = load %"class.boost::vec_adj_list_impl"** %this.addr
  %m_vertices = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 1
  invoke void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EED1Ev(%"class.std::vector"* %m_vertices)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %m_edges = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 0
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EED1Ev(%"class.std::list"* %m_edges)
  ret void

lpad:                                             ; preds = %entry
  %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %1 = extractvalue { i8*, i32 } %0, 0
  store i8* %1, i8** %exn.slot
  %2 = extractvalue { i8*, i32 } %0, 1
  store i32 %2, i32* %ehselector.slot
  %m_edges2 = getelementptr inbounds %"class.boost::vec_adj_list_impl"* %this1, i32 0, i32 0
  invoke void @_ZNSt4listIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EED1Ev(%"class.std::list"* %m_edges2)
          to label %invoke.cont3 unwind label %terminate.lpad

invoke.cont3:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont3
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val4 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val4

terminate.lpad:                                   ; preds = %lpad
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EED1Ev(%"class.std::vector"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EED2Ev(%"class.std::vector"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EED1Ev(%"class.std::list"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EED2Ev(%"class.std::list"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EED2Ev(%"class.std::list"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  %0 = bitcast %"class.std::list"* %this1 to %"class.std::_List_base"*
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EED2Ev(%"class.std::_List_base"* %0)
  ret void
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EED2Ev(%"class.std::_List_base"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  invoke void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE8_M_clearEv(%"class.std::_List_base"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE10_List_implD1Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %_M_impl) nounwind
  ret void

lpad:                                             ; preds = %entry
  %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %1 = extractvalue { i8*, i32 } %0, 0
  store i8* %1, i8** %exn.slot
  %2 = extractvalue { i8*, i32 } %0, 1
  store i32 %2, i32* %ehselector.slot
  %_M_impl2 = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE10_List_implD1Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %_M_impl2) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE8_M_clearEv(%"class.std::_List_base"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  %__cur = alloca %"struct.std::_List_node"*, align 4
  %__tmp = alloca %"struct.std::_List_node"*, align 4
  %temp.lvalue = alloca %"class.std::allocator.50", align 1
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %_M_node = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %_M_impl, i32 0, i32 0
  %_M_next = getelementptr inbounds %"struct.std::__detail::_List_node_base"* %_M_node, i32 0, i32 0
  %0 = load %"struct.std::__detail::_List_node_base"** %_M_next, align 4
  %1 = bitcast %"struct.std::__detail::_List_node_base"* %0 to %"struct.std::_List_node"*
  store %"struct.std::_List_node"* %1, %"struct.std::_List_node"** %__cur, align 4
  br label %while.cond

while.cond:                                       ; preds = %invoke.cont5, %entry
  %2 = load %"struct.std::_List_node"** %__cur, align 4
  %3 = bitcast %"struct.std::_List_node"* %2 to %"struct.std::__detail::_List_node_base"*
  %_M_impl2 = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %_M_node3 = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %_M_impl2, i32 0, i32 0
  %cmp = icmp ne %"struct.std::__detail::_List_node_base"* %3, %_M_node3
  br i1 %cmp, label %while.body, label %while.end

while.body:                                       ; preds = %while.cond
  %4 = load %"struct.std::_List_node"** %__cur, align 4
  store %"struct.std::_List_node"* %4, %"struct.std::_List_node"** %__tmp, align 4
  %5 = load %"struct.std::_List_node"** %__cur, align 4
  %6 = bitcast %"struct.std::_List_node"* %5 to %"struct.std::__detail::_List_node_base"*
  %_M_next4 = getelementptr inbounds %"struct.std::__detail::_List_node_base"* %6, i32 0, i32 0
  %7 = load %"struct.std::__detail::_List_node_base"** %_M_next4, align 4
  %8 = bitcast %"struct.std::__detail::_List_node_base"* %7 to %"struct.std::_List_node"*
  store %"struct.std::_List_node"* %8, %"struct.std::_List_node"** %__cur, align 4
  call void @_ZNKSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE19_M_get_Tp_allocatorEv(%"class.std::allocator.50"* sret %temp.lvalue, %"class.std::_List_base"* %this1)
  %9 = bitcast %"class.std::allocator.50"* %temp.lvalue to %"class.__gnu_cxx::new_allocator.51"*
  %10 = load %"struct.std::_List_node"** %__tmp, align 4
  %_M_data = getelementptr inbounds %"struct.std::_List_node"* %10, i32 0, i32 1
  %call = invoke %"struct.boost::list_edge"* @_ZSt11__addressofIN5boost9list_edgeIjNS0_11no_propertyEEEEPT_RS4_(%"struct.boost::list_edge"* %_M_data)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %while.body
  invoke void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_11no_propertyEEEE7destroyEPS4_(%"class.__gnu_cxx::new_allocator.51"* %9, %"struct.boost::list_edge"* %call)
          to label %invoke.cont5 unwind label %lpad

invoke.cont5:                                     ; preds = %invoke.cont
  call void @_ZNSaIN5boost9list_edgeIjNS_11no_propertyEEEED1Ev(%"class.std::allocator.50"* %temp.lvalue) nounwind
  %11 = load %"struct.std::_List_node"** %__tmp, align 4
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE11_M_put_nodeEPSt10_List_nodeIS3_E(%"class.std::_List_base"* %this1, %"struct.std::_List_node"* %11)
  br label %while.cond

lpad:                                             ; preds = %invoke.cont, %while.body
  %12 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %13 = extractvalue { i8*, i32 } %12, 0
  store i8* %13, i8** %exn.slot
  %14 = extractvalue { i8*, i32 } %12, 1
  store i32 %14, i32* %ehselector.slot
  call void @_ZNSaIN5boost9list_edgeIjNS_11no_propertyEEEED1Ev(%"class.std::allocator.50"* %temp.lvalue) nounwind
  br label %eh.resume

while.end:                                        ; preds = %while.cond
  ret void

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val6 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val6
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE10_List_implD1Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"*, align 4
  store %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %this, %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"** %this.addr
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE10_List_implD2Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE10_List_implD2Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"*, align 4
  store %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %this, %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"** %this.addr
  %0 = bitcast %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %this1 to %"class.std::allocator"*
  call void @_ZNSaISt10_List_nodeIN5boost9list_edgeIjNS0_11no_propertyEEEEED2Ev(%"class.std::allocator"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZNSaISt10_List_nodeIN5boost9list_edgeIjNS0_11no_propertyEEEEED2Ev(%"class.std::allocator"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator"*, align 4
  store %"class.std::allocator"* %this, %"class.std::allocator"** %this.addr, align 4
  %this1 = load %"class.std::allocator"** %this.addr
  %0 = bitcast %"class.std::allocator"* %this1 to %"class.__gnu_cxx::new_allocator"*
  call void @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_11no_propertyEEEEED2Ev(%"class.__gnu_cxx::new_allocator"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_11no_propertyEEEEED2Ev(%"class.__gnu_cxx::new_allocator"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator"*, align 4
  store %"class.__gnu_cxx::new_allocator"* %this, %"class.__gnu_cxx::new_allocator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator"** %this.addr
  ret void
}

define linkonce_odr void @_ZNKSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE19_M_get_Tp_allocatorEv(%"class.std::allocator.50"* noalias sret %agg.result, %"class.std::_List_base"* %this) align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  %call = call %"class.std::allocator"* @_ZNKSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE21_M_get_Node_allocatorEv(%"class.std::_List_base"* %this1)
  call void @_ZNSaIN5boost9list_edgeIjNS_11no_propertyEEEEC1ISt10_List_nodeIS2_EEERKSaIT_E(%"class.std::allocator.50"* %agg.result, %"class.std::allocator"* %call) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_11no_propertyEEEE7destroyEPS4_(%"class.__gnu_cxx::new_allocator.51"* %this, %"struct.boost::list_edge"* %__p) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.51"*, align 4
  %__p.addr = alloca %"struct.boost::list_edge"*, align 4
  store %"class.__gnu_cxx::new_allocator.51"* %this, %"class.__gnu_cxx::new_allocator.51"** %this.addr, align 4
  store %"struct.boost::list_edge"* %__p, %"struct.boost::list_edge"** %__p.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.51"** %this.addr
  %0 = load %"struct.boost::list_edge"** %__p.addr, align 4
  ret void
}

define linkonce_odr %"struct.boost::list_edge"* @_ZSt11__addressofIN5boost9list_edgeIjNS0_11no_propertyEEEEPT_RS4_(%"struct.boost::list_edge"* %__r) nounwind inlinehint {
entry:
  %__r.addr = alloca %"struct.boost::list_edge"*, align 4
  store %"struct.boost::list_edge"* %__r, %"struct.boost::list_edge"** %__r.addr, align 4
  %0 = load %"struct.boost::list_edge"** %__r.addr, align 4
  %1 = bitcast %"struct.boost::list_edge"* %0 to i8*
  %2 = bitcast i8* %1 to %"struct.boost::list_edge"*
  ret %"struct.boost::list_edge"* %2
}

define linkonce_odr void @_ZNSaIN5boost9list_edgeIjNS_11no_propertyEEEED1Ev(%"class.std::allocator.50"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.50"*, align 4
  store %"class.std::allocator.50"* %this, %"class.std::allocator.50"** %this.addr, align 4
  %this1 = load %"class.std::allocator.50"** %this.addr
  call void @_ZNSaIN5boost9list_edgeIjNS_11no_propertyEEEED2Ev(%"class.std::allocator.50"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE11_M_put_nodeEPSt10_List_nodeIS3_E(%"class.std::_List_base"* %this, %"struct.std::_List_node"* %__p) align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  %__p.addr = alloca %"struct.std::_List_node"*, align 4
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  store %"struct.std::_List_node"* %__p, %"struct.std::_List_node"** %__p.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %_M_impl to %"class.std::allocator"*
  %1 = bitcast %"class.std::allocator"* %0 to %"class.__gnu_cxx::new_allocator"*
  %2 = load %"struct.std::_List_node"** %__p.addr, align 4
  call void @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_11no_propertyEEEEE10deallocateEPS6_j(%"class.__gnu_cxx::new_allocator"* %1, %"struct.std::_List_node"* %2, i32 1)
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_11no_propertyEEEEE10deallocateEPS6_j(%"class.__gnu_cxx::new_allocator"* %this, %"struct.std::_List_node"* %__p, i32) nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator"*, align 4
  %__p.addr = alloca %"struct.std::_List_node"*, align 4
  %.addr = alloca i32, align 4
  store %"class.__gnu_cxx::new_allocator"* %this, %"class.__gnu_cxx::new_allocator"** %this.addr, align 4
  store %"struct.std::_List_node"* %__p, %"struct.std::_List_node"** %__p.addr, align 4
  store i32 %0, i32* %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator"** %this.addr
  %1 = load %"struct.std::_List_node"** %__p.addr, align 4
  %2 = bitcast %"struct.std::_List_node"* %1 to i8*
  call void @_ZdlPv(i8* %2) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIN5boost9list_edgeIjNS_11no_propertyEEEED2Ev(%"class.std::allocator.50"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.50"*, align 4
  store %"class.std::allocator.50"* %this, %"class.std::allocator.50"** %this.addr, align 4
  %this1 = load %"class.std::allocator.50"** %this.addr
  %0 = bitcast %"class.std::allocator.50"* %this1 to %"class.__gnu_cxx::new_allocator.51"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_11no_propertyEEEED2Ev(%"class.__gnu_cxx::new_allocator.51"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_11no_propertyEEEED2Ev(%"class.__gnu_cxx::new_allocator.51"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.51"*, align 4
  store %"class.__gnu_cxx::new_allocator.51"* %this, %"class.__gnu_cxx::new_allocator.51"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.51"** %this.addr
  ret void
}

define linkonce_odr void @_ZNSaIN5boost9list_edgeIjNS_11no_propertyEEEEC1ISt10_List_nodeIS2_EEERKSaIT_E(%"class.std::allocator.50"* %this, %"class.std::allocator"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.50"*, align 4
  %.addr = alloca %"class.std::allocator"*, align 4
  store %"class.std::allocator.50"* %this, %"class.std::allocator.50"** %this.addr, align 4
  store %"class.std::allocator"* %0, %"class.std::allocator"** %.addr, align 4
  %this1 = load %"class.std::allocator.50"** %this.addr
  %1 = load %"class.std::allocator"** %.addr
  call void @_ZNSaIN5boost9list_edgeIjNS_11no_propertyEEEEC2ISt10_List_nodeIS2_EEERKSaIT_E(%"class.std::allocator.50"* %this1, %"class.std::allocator"* %1) nounwind
  ret void
}

define linkonce_odr %"class.std::allocator"* @_ZNKSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE21_M_get_Node_allocatorEv(%"class.std::_List_base"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %0 = bitcast %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %_M_impl to %"class.std::allocator"*
  ret %"class.std::allocator"* %0
}

define linkonce_odr void @_ZNSaIN5boost9list_edgeIjNS_11no_propertyEEEEC2ISt10_List_nodeIS2_EEERKSaIT_E(%"class.std::allocator.50"* %this, %"class.std::allocator"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.50"*, align 4
  %.addr = alloca %"class.std::allocator"*, align 4
  store %"class.std::allocator.50"* %this, %"class.std::allocator.50"** %this.addr, align 4
  store %"class.std::allocator"* %0, %"class.std::allocator"** %.addr, align 4
  %this1 = load %"class.std::allocator.50"** %this.addr
  %1 = bitcast %"class.std::allocator.50"* %this1 to %"class.__gnu_cxx::new_allocator.51"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_11no_propertyEEEEC2Ev(%"class.__gnu_cxx::new_allocator.51"* %1) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost9list_edgeIjNS1_11no_propertyEEEEC2Ev(%"class.__gnu_cxx::new_allocator.51"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.51"*, align 4
  store %"class.__gnu_cxx::new_allocator.51"* %this, %"class.__gnu_cxx::new_allocator.51"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.51"** %this.addr
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EED2Ev(%"class.std::vector"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %2 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %2, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 1
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  %4 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call = invoke %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  invoke void @_ZSt8_DestroyIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESB_EvT_SD_RSaIT0_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3, %"class.std::allocator.0"* %call)
          to label %invoke.cont3 unwind label %lpad

invoke.cont3:                                     ; preds = %invoke.cont
  %5 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EED2Ev(%"struct.std::_Vector_base"* %5)
  ret void

lpad:                                             ; preds = %invoke.cont, %entry
  %6 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %7 = extractvalue { i8*, i32 } %6, 0
  store i8* %7, i8** %exn.slot
  %8 = extractvalue { i8*, i32 } %6, 1
  store i32 %8, i32* %ehselector.slot
  %9 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  invoke void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EED2Ev(%"struct.std::_Vector_base"* %9)
          to label %invoke.cont4 unwind label %terminate.lpad

invoke.cont4:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont4
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val5 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val5

terminate.lpad:                                   ; preds = %lpad
  %10 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EED2Ev(%"struct.std::_Vector_base"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %0 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start4, align 4
  %sub.ptr.lhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1 to i32
  %sub.ptr.rhs.cast = ptrtoint %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2 to i32
  %sub.ptr.sub = sub i32 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %sub.ptr.div = sdiv exact i32 %sub.ptr.sub, 16
  invoke void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE13_M_deallocateEPSB_j(%"struct.std::_Vector_base"* %this1, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %0, i32 %sub.ptr.div)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl5) nounwind
  ret void

lpad:                                             ; preds = %entry
  %3 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %4 = extractvalue { i8*, i32 } %3, 0
  store i8* %4, i8** %exn.slot
  %5 = extractvalue { i8*, i32 } %3, 1
  store i32 %5, i32* %ehselector.slot
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl6) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val7 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val7
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE12_Vector_implD2Ev(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this) unnamed_addr nounwind inlinehint align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"*, align 4
  store %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1 to %"class.std::allocator.0"*
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexEED2Ev(%"class.std::allocator.0"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexEED2Ev(%"class.std::allocator.0"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.0"*, align 4
  store %"class.std::allocator.0"* %this, %"class.std::allocator.0"** %this.addr, align 4
  %this1 = load %"class.std::allocator.0"** %this.addr
  %0 = bitcast %"class.std::allocator.0"* %this1 to %"class.__gnu_cxx::new_allocator.1"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexEED2Ev(%"class.__gnu_cxx::new_allocator.1"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexEED2Ev(%"class.__gnu_cxx::new_allocator.1"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.1"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost10scoped_ptrINS_11no_propertyEEC2EPS1_(%"class.boost::scoped_ptr"* %this, %"struct.boost::no_property"* %p) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::scoped_ptr"*, align 4
  %p.addr = alloca %"struct.boost::no_property"*, align 4
  store %"class.boost::scoped_ptr"* %this, %"class.boost::scoped_ptr"** %this.addr, align 4
  store %"struct.boost::no_property"* %p, %"struct.boost::no_property"** %p.addr, align 4
  %this1 = load %"class.boost::scoped_ptr"** %this.addr
  %px = getelementptr inbounds %"class.boost::scoped_ptr"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::no_property"** %p.addr, align 4
  store %"struct.boost::no_property"* %0, %"struct.boost::no_property"** %px, align 4
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EEC1Ev(%"class.std::list"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  call void @_ZNSt4listIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EEC2Ev(%"class.std::list"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EEC1EjRKSB_RKSC_(%"class.std::vector"* %this, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"class.std::allocator.0"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__a.addr = alloca %"class.std::allocator.0"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = load i32* %__n.addr, align 4
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr
  %2 = load %"class.std::allocator.0"** %__a.addr
  call void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EEC2EjRKSB_RKSC_(%"class.std::vector"* %this1, i32 %0, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1, %"class.std::allocator.0"* %2)
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexEEC1Ev(%"class.std::allocator.0"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.0"*, align 4
  store %"class.std::allocator.0"* %this, %"class.std::allocator.0"** %this.addr, align 4
  %this1 = load %"class.std::allocator.0"** %this.addr
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexEEC2Ev(%"class.std::allocator.0"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexEED1Ev(%"class.std::allocator.0"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.0"*, align 4
  store %"class.std::allocator.0"* %this, %"class.std::allocator.0"** %this.addr, align 4
  %this1 = load %"class.std::allocator.0"** %this.addr
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexEED2Ev(%"class.std::allocator.0"* %this1) nounwind
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexEEC2Ev(%"class.std::allocator.0"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.0"*, align 4
  store %"class.std::allocator.0"* %this, %"class.std::allocator.0"** %this.addr, align 4
  %this1 = load %"class.std::allocator.0"** %this.addr
  %0 = bitcast %"class.std::allocator.0"* %this1 to %"class.__gnu_cxx::new_allocator.1"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexEEC2Ev(%"class.__gnu_cxx::new_allocator.1"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexEEC2Ev(%"class.__gnu_cxx::new_allocator.1"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.1"** %this.addr
  ret void
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EEC2EjRKSB_RKSC_(%"class.std::vector"* %this, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"class.std::allocator.0"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  %__a.addr = alloca %"class.std::allocator.0"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %1 = load i32* %__n.addr, align 4
  %2 = load %"class.std::allocator.0"** %__a.addr, align 4
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EEC2EjRKSC_(%"struct.std::_Vector_base"* %0, i32 %1, %"class.std::allocator.0"* %2)
  %3 = load i32* %__n.addr, align 4
  %4 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  invoke void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE18_M_fill_initializeEjRKSB_(%"class.std::vector"* %this1, i32 %3, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %4)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  ret void

lpad:                                             ; preds = %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  %8 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  invoke void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EED2Ev(%"struct.std::_Vector_base"* %8)
          to label %invoke.cont2 unwind label %terminate.lpad

invoke.cont2:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont2
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3

terminate.lpad:                                   ; preds = %lpad
  %9 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EEC2EjRKSC_(%"struct.std::_Vector_base"* %this, i32 %__n, %"class.std::allocator.0"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base"*, align 4
  %__n.addr = alloca i32, align 4
  %__a.addr = alloca %"class.std::allocator.0"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"struct.std::_Vector_base"* %this, %"struct.std::_Vector_base"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base"** %this.addr
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %0 = load %"class.std::allocator.0"** %__a.addr, align 4
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE12_Vector_implC1ERKSC_(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, %"class.std::allocator.0"* %0)
  %1 = load i32* %__n.addr, align 4
  %call = invoke %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE11_M_allocateEj(%"struct.std::_Vector_base"* %this1, i32 %1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 0
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %call, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_start4 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl3, i32 0, i32 0
  %2 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start4, align 4
  %_M_impl5 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl5, i32 0, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  %_M_impl6 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_start7 = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl6, i32 0, i32 0
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start7, align 4
  %4 = load i32* %__n.addr, align 4
  %add.ptr = getelementptr inbounds %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3, i32 %4
  %_M_impl8 = getelementptr inbounds %"struct.std::_Vector_base"* %this1, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl8, i32 0, i32 2
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %add.ptr, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage, align 4
  ret void

lpad:                                             ; preds = %entry
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %6 = extractvalue { i8*, i32 } %5, 0
  store i8* %6, i8** %exn.slot
  %7 = extractvalue { i8*, i32 } %5, 1
  store i32 %7, i32* %ehselector.slot
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE12_Vector_implD1Ev(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val9 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val9
}

define linkonce_odr void @_ZNSt6vectorIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE18_M_fill_initializeEjRKSB_(%"class.std::vector"* %this, i32 %__n, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__value) align 2 {
entry:
  %this.addr = alloca %"class.std::vector"*, align 4
  %__n.addr = alloca i32, align 4
  %__value.addr = alloca %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"*, align 4
  store %"class.std::vector"* %this, %"class.std::vector"** %this.addr, align 4
  store i32 %__n, i32* %__n.addr, align 4
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %__value, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  %this1 = load %"class.std::vector"** %this.addr
  %0 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl = getelementptr inbounds %"struct.std::_Vector_base"* %0, i32 0, i32 0
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl, i32 0, i32 0
  %1 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %2 = load i32* %__n.addr, align 4
  %3 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %__value.addr, align 4
  %4 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %call = call %"class.std::allocator.0"* @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE19_M_get_Tp_allocatorEv(%"struct.std::_Vector_base"* %4)
  call void @_ZSt24__uninitialized_fill_n_aIPN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexEjSB_SB_EvT_T0_RKT1_RSaIT2_E(%"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %1, i32 %2, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %3, %"class.std::allocator.0"* %call)
  %5 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl2 = getelementptr inbounds %"struct.std::_Vector_base"* %5, i32 0, i32 0
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl2, i32 0, i32 2
  %6 = load %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage, align 4
  %7 = bitcast %"class.std::vector"* %this1 to %"struct.std::_Vector_base"*
  %_M_impl3 = getelementptr inbounds %"struct.std::_Vector_base"* %7, i32 0, i32 0
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %_M_impl3, i32 0, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* %6, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE12_Vector_implC1ERKSC_(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this, %"class.std::allocator.0"* %__a) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.0"*, align 4
  store %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr
  %0 = load %"class.std::allocator.0"** %__a.addr
  call void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE12_Vector_implC2ERKSC_(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1, %"class.std::allocator.0"* %0)
  ret void
}

define linkonce_odr void @_ZNSt12_Vector_baseIN5boost6detail12adj_list_genINS0_14adjacency_listINS0_4vecSES4_NS0_9directedSENS0_11no_propertyES6_S6_NS0_5listSEEES4_S4_S5_S6_S6_S6_S7_E6config13stored_vertexESaISB_EE12_Vector_implC2ERKSC_(%"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this, %"class.std::allocator.0"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"*, align 4
  %__a.addr = alloca %"class.std::allocator.0"*, align 4
  store %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this, %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr, align 4
  store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 4
  %this1 = load %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"** %this.addr
  %0 = bitcast %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1 to %"class.std::allocator.0"*
  %1 = load %"class.std::allocator.0"** %__a.addr, align 4
  call void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexEEC2ERKSB_(%"class.std::allocator.0"* %0, %"class.std::allocator.0"* %1) nounwind
  %_M_start = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1, i32 0, i32 0
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* null, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_start, align 4
  %_M_finish = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1, i32 0, i32 1
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* null, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_finish, align 4
  %_M_end_of_storage = getelementptr inbounds %"struct.std::_Vector_base<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex, std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex> >::_Vector_impl"* %this1, i32 0, i32 2
  store %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"* null, %"struct.boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>, boost::vecS, boost::vecS, boost::directedS, boost::no_property, boost::no_property, boost::no_property, boost::listS>::config::stored_vertex"** %_M_end_of_storage, align 4
  ret void
}

define linkonce_odr void @_ZNSaIN5boost6detail12adj_list_genINS_14adjacency_listINS_4vecSES3_NS_9directedSENS_11no_propertyES5_S5_NS_5listSEEES3_S3_S4_S5_S5_S5_S6_E6config13stored_vertexEEC2ERKSB_(%"class.std::allocator.0"* %this, %"class.std::allocator.0"* %__a) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator.0"*, align 4
  %__a.addr = alloca %"class.std::allocator.0"*, align 4
  store %"class.std::allocator.0"* %this, %"class.std::allocator.0"** %this.addr, align 4
  store %"class.std::allocator.0"* %__a, %"class.std::allocator.0"** %__a.addr, align 4
  %this1 = load %"class.std::allocator.0"** %this.addr
  %0 = bitcast %"class.std::allocator.0"* %this1 to %"class.__gnu_cxx::new_allocator.1"*
  %1 = load %"class.std::allocator.0"** %__a.addr, align 4
  %2 = bitcast %"class.std::allocator.0"* %1 to %"class.__gnu_cxx::new_allocator.1"*
  call void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexEEC2ERKSD_(%"class.__gnu_cxx::new_allocator.1"* %0, %"class.__gnu_cxx::new_allocator.1"* %2) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorIN5boost6detail12adj_list_genINS1_14adjacency_listINS1_4vecSES5_NS1_9directedSENS1_11no_propertyES7_S7_NS1_5listSEEES5_S5_S6_S7_S7_S7_S8_E6config13stored_vertexEEC2ERKSD_(%"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"*) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  %.addr = alloca %"class.__gnu_cxx::new_allocator.1"*, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %this, %"class.__gnu_cxx::new_allocator.1"** %this.addr, align 4
  store %"class.__gnu_cxx::new_allocator.1"* %0, %"class.__gnu_cxx::new_allocator.1"** %.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator.1"** %this.addr
  ret void
}

define linkonce_odr void @_ZNSt4listIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EEC2Ev(%"class.std::list"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::list"*, align 4
  store %"class.std::list"* %this, %"class.std::list"** %this.addr, align 4
  %this1 = load %"class.std::list"** %this.addr
  %0 = bitcast %"class.std::list"* %this1 to %"class.std::_List_base"*
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EEC2Ev(%"class.std::_List_base"* %0)
  ret void
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EEC2Ev(%"class.std::_List_base"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE10_List_implC1Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %_M_impl)
  invoke void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE7_M_initEv(%"class.std::_List_base"* %this1)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  ret void

lpad:                                             ; preds = %entry
  %0 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %1 = extractvalue { i8*, i32 } %0, 0
  store i8* %1, i8** %exn.slot
  %2 = extractvalue { i8*, i32 } %0, 1
  store i32 %2, i32* %ehselector.slot
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE10_List_implD1Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %_M_impl) nounwind
  br label %eh.resume

eh.resume:                                        ; preds = %lpad
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val2 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val2
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE10_List_implC1Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"*, align 4
  store %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %this, %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"** %this.addr
  call void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE10_List_implC2Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %this1)
  ret void
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE7_M_initEv(%"class.std::_List_base"* %this) nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::_List_base"*, align 4
  store %"class.std::_List_base"* %this, %"class.std::_List_base"** %this.addr, align 4
  %this1 = load %"class.std::_List_base"** %this.addr
  %_M_impl = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %_M_node = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %_M_impl, i32 0, i32 0
  %_M_impl2 = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %_M_node3 = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %_M_impl2, i32 0, i32 0
  %_M_next = getelementptr inbounds %"struct.std::__detail::_List_node_base"* %_M_node3, i32 0, i32 0
  store %"struct.std::__detail::_List_node_base"* %_M_node, %"struct.std::__detail::_List_node_base"** %_M_next, align 4
  %_M_impl4 = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %_M_node5 = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %_M_impl4, i32 0, i32 0
  %_M_impl6 = getelementptr inbounds %"class.std::_List_base"* %this1, i32 0, i32 0
  %_M_node7 = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %_M_impl6, i32 0, i32 0
  %_M_prev = getelementptr inbounds %"struct.std::__detail::_List_node_base"* %_M_node7, i32 0, i32 1
  store %"struct.std::__detail::_List_node_base"* %_M_node5, %"struct.std::__detail::_List_node_base"** %_M_prev, align 4
  ret void
}

define linkonce_odr void @_ZNSt10_List_baseIN5boost9list_edgeIjNS0_11no_propertyEEESaIS3_EE10_List_implC2Ev(%"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"*, align 4
  store %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %this, %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"** %this.addr, align 4
  %this1 = load %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"** %this.addr
  %0 = bitcast %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %this1 to %"class.std::allocator"*
  call void @_ZNSaISt10_List_nodeIN5boost9list_edgeIjNS0_11no_propertyEEEEEC2Ev(%"class.std::allocator"* %0) nounwind
  %_M_node = getelementptr inbounds %"struct.std::_List_base<boost::list_edge<unsigned int, boost::no_property>, std::allocator<boost::list_edge<unsigned int, boost::no_property> > >::_List_impl"* %this1, i32 0, i32 0
  %1 = bitcast %"struct.std::__detail::_List_node_base"* %_M_node to i8*
  call void @llvm.memset.p0i8.i32(i8* %1, i8 0, i32 8, i32 4, i1 false)
  ret void
}

define linkonce_odr void @_ZNSaISt10_List_nodeIN5boost9list_edgeIjNS0_11no_propertyEEEEEC2Ev(%"class.std::allocator"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.std::allocator"*, align 4
  store %"class.std::allocator"* %this, %"class.std::allocator"** %this.addr, align 4
  %this1 = load %"class.std::allocator"** %this.addr
  %0 = bitcast %"class.std::allocator"* %this1 to %"class.__gnu_cxx::new_allocator"*
  call void @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_11no_propertyEEEEEC2Ev(%"class.__gnu_cxx::new_allocator"* %0) nounwind
  ret void
}

define linkonce_odr void @_ZN9__gnu_cxx13new_allocatorISt10_List_nodeIN5boost9list_edgeIjNS2_11no_propertyEEEEEC2Ev(%"class.__gnu_cxx::new_allocator"* %this) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.__gnu_cxx::new_allocator"*, align 4
  store %"class.__gnu_cxx::new_allocator"* %this, %"class.__gnu_cxx::new_allocator"** %this.addr, align 4
  %this1 = load %"class.__gnu_cxx::new_allocator"** %this.addr
  ret void
}

define linkonce_odr void @_ZN5boost6detail35make_property_map_from_arg_pack_genINS_5graph8keywords3tag9color_mapENS_18default_color_typeEEC2ES6_(%"class.boost::detail::make_property_map_from_arg_pack_gen"* %this, i32 %default_value) unnamed_addr nounwind align 2 {
entry:
  %this.addr = alloca %"class.boost::detail::make_property_map_from_arg_pack_gen"*, align 4
  %default_value.addr = alloca i32, align 4
  store %"class.boost::detail::make_property_map_from_arg_pack_gen"* %this, %"class.boost::detail::make_property_map_from_arg_pack_gen"** %this.addr, align 4
  store i32 %default_value, i32* %default_value.addr, align 4
  %this1 = load %"class.boost::detail::make_property_map_from_arg_pack_gen"** %this.addr
  %default_value2 = getelementptr inbounds %"class.boost::detail::make_property_map_from_arg_pack_gen"* %this1, i32 0, i32 0
  %0 = load i32* %default_value.addr, align 4
  store i32 %0, i32* %default_value2, align 4
  ret void
}

define linkonce_odr void @_ZN5boost14adjacency_listINS_4vecSES1_NS_9directedSENS_11no_propertyES3_S3_NS_5listSEED2Ev(%"class.boost::adjacency_list"* %this) unnamed_addr inlinehint align 2 {
entry:
  %this.addr = alloca %"class.boost::adjacency_list"*, align 4
  %exn.slot = alloca i8*
  %ehselector.slot = alloca i32
  store %"class.boost::adjacency_list"* %this, %"class.boost::adjacency_list"** %this.addr, align 4
  %this1 = load %"class.boost::adjacency_list"** %this.addr
  %m_property = getelementptr inbounds %"class.boost::adjacency_list"* %this1, i32 0, i32 1
  invoke void @_ZN5boost10scoped_ptrINS_11no_propertyEED1Ev(%"class.boost::scoped_ptr"* %m_property)
          to label %invoke.cont unwind label %lpad

invoke.cont:                                      ; preds = %entry
  %0 = bitcast %"class.boost::adjacency_list"* %this1 to %"class.boost::vec_adj_list_impl"*
  call void @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEED2Ev(%"class.boost::vec_adj_list_impl"* %0)
  ret void

lpad:                                             ; preds = %entry
  %1 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          cleanup
  %2 = extractvalue { i8*, i32 } %1, 0
  store i8* %2, i8** %exn.slot
  %3 = extractvalue { i8*, i32 } %1, 1
  store i32 %3, i32* %ehselector.slot
  %4 = bitcast %"class.boost::adjacency_list"* %this1 to %"class.boost::vec_adj_list_impl"*
  invoke void @_ZN5boost17vec_adj_list_implINS_14adjacency_listINS_4vecSES2_NS_9directedSENS_11no_propertyES4_S4_NS_5listSEEENS_6detail12adj_list_genIS6_S2_S2_S3_S4_S4_S4_S5_E6configENS_21directed_graph_helperISA_EEED2Ev(%"class.boost::vec_adj_list_impl"* %4)
          to label %invoke.cont2 unwind label %terminate.lpad

invoke.cont2:                                     ; preds = %lpad
  br label %eh.resume

eh.resume:                                        ; preds = %invoke.cont2
  %exn = load i8** %exn.slot
  %sel = load i32* %ehselector.slot
  %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0
  %lpad.val3 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1
  resume { i8*, i32 } %lpad.val3

terminate.lpad:                                   ; preds = %lpad
  %5 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*)
          catch i8* null
  call void @_ZSt9terminatev() noreturn nounwind
  unreachable
}

define linkonce_odr void @_ZN5boost10scoped_ptrINS_11no_propertyEED1Ev(%"class.boost::scoped_ptr"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::scoped_ptr"*, align 4
  store %"class.boost::scoped_ptr"* %this, %"class.boost::scoped_ptr"** %this.addr, align 4
  %this1 = load %"class.boost::scoped_ptr"** %this.addr
  call void @_ZN5boost10scoped_ptrINS_11no_propertyEED2Ev(%"class.boost::scoped_ptr"* %this1)
  ret void
}

define linkonce_odr void @_ZN5boost10scoped_ptrINS_11no_propertyEED2Ev(%"class.boost::scoped_ptr"* %this) unnamed_addr align 2 {
entry:
  %this.addr = alloca %"class.boost::scoped_ptr"*, align 4
  store %"class.boost::scoped_ptr"* %this, %"class.boost::scoped_ptr"** %this.addr, align 4
  %this1 = load %"class.boost::scoped_ptr"** %this.addr
  %px = getelementptr inbounds %"class.boost::scoped_ptr"* %this1, i32 0, i32 0
  %0 = load %"struct.boost::no_property"** %px, align 4
  call void @_ZN5boost14checked_deleteINS_11no_propertyEEEvPT_(%"struct.boost::no_property"* %0)
  ret void
}

define linkonce_odr void @_ZN5boost14checked_deleteINS_11no_propertyEEEvPT_(%"struct.boost::no_property"* %x) nounwind inlinehint {
entry:
  %x.addr = alloca %"struct.boost::no_property"*, align 4
  store %"struct.boost::no_property"* %x, %"struct.boost::no_property"** %x.addr, align 4
  %0 = load %"struct.boost::no_property"** %x.addr, align 4
  %isnull = icmp eq %"struct.boost::no_property"* %0, null
  br i1 %isnull, label %delete.end, label %delete.notnull

delete.notnull:                                   ; preds = %entry
  %1 = bitcast %"struct.boost::no_property"* %0 to i8*
  call void @_ZdlPv(i8* %1) nounwind
  br label %delete.end

delete.end:                                       ; preds = %delete.notnull, %entry
  ret void
}

define internal void @_GLOBAL__I_a() section ".text.startup" {
entry:
  call void @__cxx_global_var_init()
  call void @__cxx_global_var_init1()
  ret void
}

!0 = metadata !{i32 18506509, i32 18506516}       
!1 = metadata !{i32 18506821, i32 18506828}       
